mysql資料庫快取

2021-10-05 01:26:20 字數 1122 閱讀 6864

開啟mysql查詢快取的方案:

1.  在my.cnf中新增如下配置並重啟,開啟mysql快取

query_cache_size=256m

query_cache_limit=10m

query_cache_type=1

query_cache_size為總快取大小,官方推薦不要超過256m

query_cache_limit為單條查詢結果的最大快取大小,如不設定,預設為1m

query_cache_type表示快取方式,0表示不開啟快取,1表示每條語句都開啟快取(除非指定不需要快取),2表示如果查詢語句中指定使用快取,則進行快取,具體見後續說明。

前摘:      本人用的是phpstudy8.0;cmd切盤之後,輸入'cd phpstudy_pro\extensions\mysql5.7.26\bin'進入mysql執行目錄,              再'mysql -u root -p'連線資料庫。

2.  開啟完畢後,進入mysql命令列,輸入如下命令確認各引數是否設定正確:

show variables like '%query_cache%';

3.  可用如下命令確認快取狀態:

show status like 'qcache%';

4.  重置快取內容:

reset query cache;

除了上述簡單開啟外,額外說明如下:

開啟快取後,mysql會根據查詢語句與關聯表進行查詢結果的快取,一旦關聯表發生變化,就會使快取內容失效;

雖然沒有試驗,但據說開啟快取應該是對相關表的插入更新效率是有一定影響的;

如前所述,query_cache_type=2時,只快取明確需要快取的sql查詢(在select後加上sql_cache),這樣可以避免濫用快取, 根據實際需要進行優化;當query_cache_type=1時,也可以通過sql_no_cache來關閉查詢快取。具體方式如下:

select sql_cache ... from ... where ...

select sql_no_cache ... from ... where ...

總的說來,在部分變化頻率較低的表對應的查詢語句中,開啟query cache,對效能會有一定提公升,其餘情況下,個人感覺還是盡量少用,遇到問題再優化。

MySQL資料庫快取

原文 mysql 資料庫快取cache功能總結 mysql cache功能分析 1 mysql的cache功能的key的生成原理是 把select語句按照一定的hash規則生成唯一的key,select的結果生成value,即 key value。所以對於cache而言,select語句是區分大小寫...

Mysql 資料庫快取cache功能

mysql cache功能分析 1 mysql的cache功能的key的生成原理是 把select語句按照一定的hash規則生成唯一的key,select的結果生成value,即 key value。所以對於cache而言,select語句是區分大小寫的,也區分空格的。兩個select語句必須完完全...

MySQL資料庫中新增快取

mysql將快取分為buffer快取和cache快取。buffer快取。由於硬碟的寫入速度過慢,或者頻繁的i o,對於硬碟來說是極大的效率浪費。那麼可以等到快取中儲存一定量的資料之後,一次性的寫入到硬碟中。buffer 快取主要用於寫資料,提公升i o效能。cache 快取。cache 快取一般是一...