久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL query_cache_type 參數(shù)與使用詳解

瀏覽:37日期:2023-10-01 12:15:21
MySQL設(shè)置查詢緩存的用意:

把查詢到的結(jié)果緩存起來,下次再執(zhí)行相同查詢時就可以直接從結(jié)果集中取;這樣就比重新查一遍要快的多。

查詢緩存的最終結(jié)果是事與愿違:

之所以查詢緩存并沒有能起到提升性能的做用,客觀上有如下兩點原因

1、把SQL語句的hash值作為鍵,SQL語句的結(jié)果集作為值;這樣就引起了一個問題如 select user from mysql.user 和 SELECT user FROM mysql.user

這兩個將會被當(dāng)成不同的SQL語句,這個時候就算結(jié)果集已經(jīng)有了,但是一然用不到。

2、當(dāng)查詢所基于的低層表有改動時與這個表有關(guān)的查詢緩存都會作廢、如果對于并發(fā)度比較大的系統(tǒng)這個開銷是可觀的;對于作廢結(jié)果集這個操作也是要用并發(fā)

訪問控制的,就是說也會有鎖。并發(fā)大的時候就會有Waiting for query cache lock 產(chǎn)生。

3、至于用不用還是要看業(yè)務(wù)模型的。

如果何配置查詢緩存:

query_cache_type 這個系統(tǒng)變量控制著查詢緩存工能的開啟的關(guān)閉。

query_cache_type=0時表示關(guān)閉,1時表示打開,2表示只要select 中明確指定SQL_CACHE才緩存。

這個參數(shù)的設(shè)置有點奇怪,1、如果事先查詢緩存是關(guān)閉的然而用 set @@global.query_cache_type=1; 會報錯

ERROR 1651 (HY000): Query cache is disabled; restart the server with query_cache_type=1 to enable it

2、如果事先是打開著的嘗試去閉關(guān)它,那么這個關(guān)閉也是不完全的,這種情況下查詢還是會去嘗試查找緩存。

最好的關(guān)閉查詢緩存的辦法就是把my.cnf 中的query_cache_type=0然后再重啟mysql。

查詢緩存相關(guān)的系統(tǒng)變量:

have_query_cache表示這個mysql版本是否支持查詢緩存。

query_cache_limit 表示單個結(jié)果集所被允許緩存的最大值。

query_cache_min_res_unit每個被緩存的結(jié)果集要占用的最小內(nèi)存。

query_cache_size用于查詢緩存的內(nèi)存大小。

如何監(jiān)控查詢緩存的命中率:

Qcache_free_memory查詢緩存目前剩余空間大小。

Qcache_hits  查詢緩存的命中次數(shù)。

Qcache_inserts  查詢緩存插入的次數(shù)。

也就是說緩存的命中率為 Qcache_hits/(Qcache_hits+Qcache_inserts)

一般單獨設(shè)置這個可不行,得結(jié)合,建議看一下下面的文章

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产一区二区三区免费播放 | 美女福利视频网站 | 成年网站视频 | 神马久久久久久久久久 | 91中文字幕在线 | 精品欧美乱码久久久久久 | 国产精品视频不卡 | 一区二区三区日韩 | 亚洲精品一区二三区 | 成人在线一区二区 | 99精品欧美一区二区三区综合在线 | 国产乱码精品一区二区三区av | 日本久久久久久 | 99热这里有精品 | 狠狠色综合欧美激情 | 亚洲精品久久久 | 99久久99热这里只有精品 | 中文字幕视频在线 | 日韩av片在线免费观看 | 毛片免费网站 | 欧美另类一区二区 | 亚洲天堂中文字幕 | 日韩一级大片 | 日韩精品小视频 | 黑人巨大精品欧美黑白配亚洲 | 九九免费视频 | 999精品在线| 日韩一级 | 日韩精品成人 | 成人免费小视频 | 国产精品久久久久久久免费大片 | 午夜欧美 | 亚洲免费视频网址 | 夜夜久久 | 91免费在线播放 | 亚洲欧美日韩系列 | 啊啊啊网站 | 日韩视频在线播放 | 成人免费高清视频 | 成人一区视频 | 亚洲国产精品一区二区三区 |