Mysql Cache配置使用 mysql緩存配置

如果 MySQL Server 負載比較高,處理非常繁忙的話,可以啓動Query Cache 以加速響應時間,啓動方法可以在my.cnf(Linux)或my.ini(Windows)中加入不以下項目:(Redhat下面是:/etc /my.cnf;Debian和Ubuntu是在/etc/mysql/my.cnf) query_cache_size = 268435456
query_cache_type = 1
query_cache_limit = 1048576 以上語句的設置中 query_cache_size 是分配256M內存給Query Cache;query_cache_type=1,是給所有的查詢做Cache;query_cache_limit 是指定個別的查詢語句1MB的內存。這些數據可以根據自己的需求作出適當的更改,設置完成之後,保存文檔,重新啓動MySQL即可。query_cache_type 0 代表不使用緩衝, 1 代表使用緩衝,2 代表根據需要使用。設置 1 代表緩衝永遠有效,如果不需要緩衝,就需要使用如下語句:SELECT SQL_NO_CACHE * FROM my_table WHERE ...如果設置爲 2 ,需要開啓緩衝,可以用如下語句:SELECT SQL_CACHE * FROM my_table WHERE ...用 SHOW STATUS 可以查看緩衝的情況:mysql> show status like 'Qca%';| Variable_name | Value || Qcache_queries_in_cache | 8 |
| Qcache_inserts | 545875 |
| Qcache_hits | 83951 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 2343256 |
| Qcache_free_memory | 33508248 |
| Qcache_free_blocks | 1 |
| Qcache_total_blocks | 18 |8 rows in set (0.00 sec)如果需要計算命中率,需要知道服務器執行了多少 SELECT 語句:mysql> show status like 'Com_sel%';| Variable_name | Value || Com_select | 2889628 |1 row in set (0.01 sec)在本例中, MySQL 命中了 2,889,628 條查詢中的 83,951 條,而且 INSERT 語句只有 545,875 條。因此,它們兩者的和和280萬的總查詢相比有很大差距,因此,我們知道本例使用的緩衝類型是 2 。

而在類型是 1 的例子中, Qcache_hits 的數值會遠遠大於 Com_select 。



引自:http://www.24xuexi.com/w/2011-08-22/96580.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章