一.mysql的查詢快取
1.查詢快取的命中率計算:
qcache_hits/(qcache_hits + com_select)
二.查詢快取進行調優
1.query_cache_type,這個選項表示快取是否被啟用
取值為on,off,demand,demand的意思是包含了sql_cache選項的查詢才能被快取
2.query_cache_size,分給給查詢快取的總記憶體,以位元組為單位,他必須是1024的倍數
3.query_cache_min_res_unit,分配快取塊的最小值
4.query_cache_limit,限制了mysql儲存的最大結果,預設是1m,如果在快取的過程中超過了限制,qcache_not_cached的值被增大
5.query_cache_wlock_invalidate,是否快取其他連線已經鎖定了的表,預設是off.
三.減少碎片
仔細的選擇query_cache_min_res_unit的值,可以用以下公式獲取參考值
(query_cache_size - qcache_free_memory) / qcache_queries_in_cache得到乙個平均的大小
移除碎片:flush query cache,這個命令不會從快取中移除查詢,只有reset query cache才會這麼做
四.如果臨時禁用快取
可以將query_cache_size設定為0,因為改變query_cache_type不會影響已經開啟的連線
五.通用快取優化
1.不要讓query_cache_size過大,256m已經足夠了
2.使用較小的表
3.成批寫入操作
4.寫入過多的資料庫,適合關閉快取
mysql資料快取查詢 Mysql查詢快取
查詢快取 mysql提供了一種快取型別,會快取整個select查詢結果。mysql查詢快取儲存查詢返回的完整結果。當查詢命中該快取,mysql會立即返回結果,跳過了解析 優化和執行階段。以下兩種情況不能被快取 頻繁更新 修改的的表,所有快取資料都會失效,mysql查詢快取會跟蹤查詢中涉及的表,如果這...
mysql 查詢快取
show variables like cache my.cnf設定 mysql慢日誌 mysql有乙個功能就是可以log下來執行的比較慢的sql語句,預設是沒有這個log的,為了開啟這個功能,要修改my.cnf或者在mysql啟動的時候加入一些引數。如果在my.cnf裡面修改,需增加如下幾行 lo...
mysql查詢快取
查詢快取不開啟 r mysql query select username from user where signup date curdate 開啟查詢快取 today date y m d r mysql query select username from user where signup...