MySQL查詢快取

2022-09-06 13:54:16 字數 864 閱讀 1867

一.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...