程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Mysql Cache配置使用 mysql緩存配置

Mysql Cache配置使用 mysql緩存配置

編輯:關於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 。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved