亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL高速緩存啟動方法及參數詳解(query_cache_size)

2024-07-24 13:06:34
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL高速緩存啟動方法及參數詳解(query_cache_size),需要的朋友可以參考下
 
 

MySQL query cache從4.1版本開始提供了,不過值今天本人才對其進行研究。默認配置下,MySQL的該功能是沒有啟動的,可能你通過show variables like ‘%query_cache%';會發現其變量have_query_cache的值是yes,MYSQL初學者很容易以為這個參數為YES就代表開啟了查詢緩存,實際上是不對的,該參數表示當前版本的MYSQL是否支持Query Cache,實際上是否開啟查詢緩存是看另外一個參數的值:query_cache_size ,該值為0,表示禁用query cache,而默認配置正是配置為0。

配置方法:

在MYSQL的配置文件my.ini或my.cnf中找到如下內容:

# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again. Having the query
# cache enabled may result in significant speed improvements, if your
# have a lot of identical queries and rarely changing tables. See the
# “Qcache_lowmem_prunes” status variable to check if the current value
# is high enough for your load.
# Note: In case your tables change very often or if your queries are
# textually different every time, the query cache may result in a
# slowdown instead of a performance improvement.

query_cache_size=0

以上信息是默認配置,其注釋意思是說,MYSQL的查詢緩存用于緩存select查詢結果,并在下次接收到同樣的查詢請求時,不再執行實際查詢處理而直接返回結果,有這樣的查詢緩存能提高查詢的速度,使查詢性能得到優化,前提條件是你有大量的相同或相似的查詢,而很少改變表里的數據,否則沒有必要使用此功能。可以通過Qcache_lowmem_prunes變量的值來檢查是否當前的值滿足你目前系統的負載。注意:如果你查詢的表更新比較頻繁,而且很少有相同的查詢,最好不要使用查詢緩存。

具體配置方法:

1.將query_cache_size設置為具體的大小,具體大小是多少取決于查詢的實際情況,但最好設置為1024的倍數,參考值32M。

2.增加一行:query_cache_type=1

query_cache_type參數用于控制緩存的類型,注意這個值不能隨便設置,必須設置為數字,可選項目以及說明如下:

MySQL高速緩存啟動方法及參數詳解(query_cache_size)

如果設置為0,那么可以說,你的緩存根本就沒有用,相當于禁用了。但是這種情況下query_cache_size設置的大小系統是否要為其分配呢,這個問題有待于測試?

如果設置為1,將會緩存所有的結果,除非你的select語句使用SQL_NO_CACHE禁用了查詢緩存。

如果設置為2,則只緩存在select語句中通過SQL_CACHE指定需要緩存的查詢。

OK,配置完后的部分文件如下:

query_cache_size=128M
query_cache_type=1

保存文件,重新啟動MYSQL服務,然后通過如下查詢來驗證是否真正開啟了:

 

復制代碼代碼如下:

mysql> show variables like ‘%query_cache%';
+——————————+———–+
| Variable_name                | Value     |
+——————————+———–+
| have_query_cache             | YES       |
| query_cache_limit            | 1048576   |
| query_cache_min_res_unit     | 4096      |
| query_cache_size             | 134217728 |
| query_cache_type             | ON        |
| query_cache_wlock_invalidate | OFF       |
+——————————+———–+
6 rows in set (0.00 sec)

 

主要看query_cache_size和query_cache_type的值是否跟我們設的一致:

這里query_cache_size的值是134217728,我們設置的是128M,實際是一樣的,只是單位不同,可以自己換算下:134217728 = 128*1024*1024。

query_cache_type設置為1,顯示為ON,這個前面已經說過了。

總之,看到上邊的顯示表示設置正確,但是在實際的查詢中是否能夠緩存查詢,還需要手動測試下,我們可以通過show status like ‘%Qcache%';語句來測試,現在我們開啟了查詢緩存功能,在執行查詢前,我們先看看相關參數的值:

 

復制代碼代碼如下:

mysql> show status like ‘%Qcache%';
+————————-+———–+
| Variable_name           | Value     |
+————————-+———–+
| Qcache_free_blocks      | 1         |
| Qcache_free_memory      | 134208800 |
| Qcache_hits             | 0         |
| Qcache_inserts          | 0         |
| Qcache_lowmem_prunes    | 0         |
| Qcache_not_cached       | 2         |
| Qcache_queries_in_cache | 0         |
| Qcache_total_blocks     | 1         |
+————————-+———–+
8 rows in set (0.00 sec)

 

這里順便解釋下這個幾個參數的作用:
Qcache_free_blocks:表示查詢緩存中目前還有多少剩余的blocks,如果該值顯示較大,則說明查詢緩存中的內存碎片過多了,可能在一定的時間進行整理。
Qcache_free_memory:查詢緩存的內存大小,通過這個參數可以很清晰的知道當前系統的查詢內存是否夠用,是多了,還是不夠用,DBA可以根據實際情況做出調整。
Qcache_hits:表示有多少次命中緩存。我們主要可以通過該值來驗證我們的查詢緩存的效果。數字越大,緩存效果越理想。
Qcache_inserts: 表示多少次未命中然后插入,意思是新來的SQL請求在緩存中未找到,不得不執行查詢處理,執行查詢處理后把結果insert到查詢緩存中。這樣的情況的次數,次數越多,表示查詢緩存應用到的比較少,效果也就不理想。當然系統剛啟動后,查詢緩存是空的,這很正常。
Qcache_lowmem_prunes:該參數記錄有多少條查詢因為內存不足而被移除出查詢緩存。通過這個值,用戶可以適當的調整緩存大小。
Qcache_not_cached: 表示因為query_cache_type的設置而沒有被緩存的查詢數量。
Qcache_queries_in_cache:當前緩存中緩存的查詢數量。
Qcache_total_blocks:當前緩存的block數量。

下邊我們測試下:

比如執行如下查詢語句

 

復制代碼代碼如下:

mysql> select * from user where id = 2;
+—-+——-+
| id | name  |
+—-+——-+
|  2 | test2 |
+—-+——-+
1 row in set (0.02 sec)

 

然后執行show status like ‘%Qcache%',看看有什么變化:

 

復制代碼代碼如下:

mysql> show status like ‘%Qcache%';
+————————-+———–+
| Variable_name           | Value     |
+————————-+———–+
| Qcache_free_blocks      | 1         |
| Qcache_free_memory      | 134207264 |
| Qcache_hits             | 0         |
| Qcache_inserts          | 1         |
| Qcache_lowmem_prunes    | 0         |
| Qcache_not_cached       | 3         |
| Qcache_queries_in_cache | 1         |
| Qcache_total_blocks     | 4         |
+————————-+———–+
8 rows in set (0.00 sec)

 

對比前面的參數值,我們發現Qcache_inserts變化了。Qcache_hits沒有變,下邊我們在執行同樣的查詢
select * from user where id = 2,按照前面的理論分析:Qcache_hits應該等于1,而Qcache_inserts應該值不變(其他參數的值變化暫時不關注,讀者可以自行測試),再次執行:

show status like ‘%Qcache%',看看有什么變化:

 

復制代碼代碼如下:

mysql> show status like ‘%Qcache%';
+————————-+———–+
| Variable_name           | Value     |
+————————-+———–+
| Qcache_free_blocks      | 1         |
| Qcache_free_memory      | 134207264 |
| Qcache_hits             | 1         |
| Qcache_inserts          | 1         |
| Qcache_lowmem_prunes    | 0         |
| Qcache_not_cached       | 4         |
| Qcache_queries_in_cache | 1         |
| Qcache_total_blocks     | 4         |
+————————-+———–+
8 rows in set (0.00 sec)

 

OK,果然跟我們分析的完全一致。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费视频久久久| 欧美成人免费大片| 一区二区三区久久精品| 欧美性高跟鞋xxxxhd| 色狠狠久久aa北条麻妃| 亚洲欧洲黄色网| 精品福利免费观看| 国产丝袜精品第一页| 精品久久久久久久久久| 欧美一级免费看| 一区二区三区视频观看| 国产偷国产偷亚洲清高网站| 日韩在线中文视频| 欧美国产高跟鞋裸体秀xxxhd| 亚洲电影成人av99爱色| 91久久在线视频| 亚洲日本成人女熟在线观看| 777777777亚洲妇女| 国产精品久久久久久影视| www.国产精品一二区| 国产视频福利一区| 亚洲一区二区三区四区在线播放| 欧美激情欧美激情| 国产精品永久免费| 亚洲欧美日韩在线一区| 成人激情视频免费在线| 欧美黑人巨大xxx极品| 日韩精品福利网站| 日韩欧美国产高清91| 国产成人精品免费久久久久| 日韩欧美极品在线观看| 亚洲成年人在线| 国产午夜精品视频| 国产精品自拍小视频| 激情久久av一区av二区av三区| 亚洲人成免费电影| 一区二区三区视频在线| 国产精品久久久久久久av电影| 日韩精品中文字幕有码专区| 青青精品视频播放| 最新69国产成人精品视频免费| 成人黄色免费看| 一本久久综合亚洲鲁鲁| 在线成人一区二区| 亲子乱一区二区三区电影| 欧美国产日韩一区二区| 欧美日韩国产一区二区三区| 91精品国产九九九久久久亚洲| 中文字幕亚洲无线码在线一区| 日本免费久久高清视频| 久久久久久亚洲精品不卡| 欧美精品激情在线| 国产精品久久久久久搜索| 91精品视频免费看| 国产精品一区二区三区久久久| 欧美视频在线免费| 国产伊人精品在线| 亚洲成人av中文字幕| 欧美性xxxxxx| 国产精品美女无圣光视频| 亚洲综合自拍一区| 国产精品入口夜色视频大尺度| 欧美尤物巨大精品爽| 久久精品91久久香蕉加勒比| 国产91露脸中文字幕在线| 欧美激情综合色综合啪啪五月| 亚洲精品中文字幕有码专区| 日韩电影免费在线观看中文字幕| 欧美亚洲第一页| 91在线视频九色| 亚洲性无码av在线| 久久精品欧美视频| 国产在线观看精品| 中国人与牲禽动交精品| 国产精品黄视频| 久久国产天堂福利天堂| 国产精品嫩草影院久久久| 国产精品视频公开费视频| 国产成人aa精品一区在线播放| 亚洲色无码播放| 国产精品在线看| 日韩免费不卡av| 欧美日韩激情网| 精品亚洲一区二区三区在线观看| 亚洲aa中文字幕| 69av成年福利视频| 国产综合在线看| 亚洲国产欧美一区二区三区久久| 96精品久久久久中文字幕| 国产精品99免视看9| 91人人爽人人爽人人精88v| 日本a级片电影一区二区| 97在线视频免费看| 国产一区二区三区18| 国产精品999| 亚洲人成啪啪网站| 91香蕉嫩草神马影院在线观看| 亚洲黄页视频免费观看| 91国偷自产一区二区三区的观看方式| 亚洲国产日韩欧美在线动漫| 欧美大片在线看| 久久精品色欧美aⅴ一区二区| 久久这里有精品视频| 国产精品主播视频| 欧美日韩国产成人高清视频| 欧美极品美女视频网站在线观看免费| 亚洲欧美一区二区激情| 97久久国产精品| 国模精品视频一区二区| 91久久久久久| 欧美精品久久久久久久久久| 国产精品久久久久久久久久免费| 韩国视频理论视频久久| 欧美性猛交99久久久久99按摩| 国产精品自产拍高潮在线观看| 亚洲午夜av电影| 久久精品国产99国产精品澳门| 亚洲国语精品自产拍在线观看| 日本韩国欧美精品大片卡二| 日本19禁啪啪免费观看www| 久久精品色欧美aⅴ一区二区| 91免费看片在线| 成人精品网站在线观看| 欧美一级大片在线观看| 神马久久桃色视频| 国产精品久久久久高潮| 亚洲国产小视频在线观看| 国产精品一区二区久久精品| 欧洲成人免费aa| 欧美一级bbbbb性bbbb喷潮片| 国产精品网站视频| 欧美日韩国产在线看| 在线视频欧美日韩| 欧美性xxxx在线播放| 欧美老女人性视频| 亚洲精品久久久久久久久久久| 久久久国产精品免费| 97在线观看视频国产| 精品性高朝久久久久久久| 成人免费视频网| 奇米成人av国产一区二区三区| 8050国产精品久久久久久| 欧美乱大交xxxxx另类电影| 97av在线视频免费播放| 欧美久久久精品| 欧美激情在线观看视频| 538国产精品一区二区免费视频| 黑人精品xxx一区一二区| 欧美亚洲另类制服自拍| 懂色aⅴ精品一区二区三区蜜月| 亚洲一区二区在线播放| 国产精品免费久久久久影院| 国产成人高清激情视频在线观看| 中文字幕日韩欧美在线| 中文字幕精品—区二区| 久久久久久久久久久人体| 国产精品视频成人| 亚洲人成网在线播放| 精品伊人久久97| 久久久久久国产免费| 国产精品27p| 亚洲大胆人体av| 国产日韩换脸av一区在线观看| 久久久国产一区二区三区|