欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年07月01日 14:30:51   作者:蔣樂(lè)興  
這篇文章主要介紹了MySQL query_cache_type參數(shù)介紹,需要的朋友可以參考下

MySQL設(shè)置查詢緩存的用意:

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

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

  之所以查詢緩存并沒(méi)有能起到提升性能的做用,客觀上有如下兩點(diǎn)原因

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

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

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

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

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

如果何配置查詢緩存:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • 解決hibernate+mysql寫入數(shù)據(jù)庫(kù)亂碼

    解決hibernate+mysql寫入數(shù)據(jù)庫(kù)亂碼

    初次沒(méi)習(xí)hibernate,其中遇到問(wèn)題在網(wǎng)上找的答案與大家共同分享!
    2009-07-07
  • 如何恢復(fù)Mysql數(shù)據(jù)庫(kù)的詳細(xì)介紹

    如何恢復(fù)Mysql數(shù)據(jù)庫(kù)的詳細(xì)介紹

    這里說(shuō)的MySql恢復(fù)數(shù)據(jù)庫(kù),是指沒(méi)有通過(guò)正常備份的情況下,通過(guò)Mysql保存的數(shù)據(jù)文件如何恢復(fù)數(shù)據(jù)庫(kù)
    2013-09-09
  • MySQL游標(biāo)的使用方式

    MySQL游標(biāo)的使用方式

    這篇文章主要介紹了MySQL游標(biāo)的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL登錄時(shí)出現(xiàn) Access denied for user ‘root‘@‘xxx.xxx.xxx.xxx‘ (using password: YES) 的原因及解決辦法

    MySQL登錄時(shí)出現(xiàn) Access denied for user ‘

    今天打開mysql的時(shí)候突然提示:Access denied for user 'root'@'localhost' (using password: YES) 在網(wǎng)上搜索了很多文章,本文就來(lái)做一下總結(jié),介紹了幾種場(chǎng)景的解決方法,感興趣的可以了解一下
    2024-03-03
  • mysql 5.7.17 安裝教程 附MySQL服務(wù)無(wú)法啟動(dòng)的解決方法

    mysql 5.7.17 安裝教程 附MySQL服務(wù)無(wú)法啟動(dòng)的解決方法

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17安裝教程,并且為大家分享了MySQL服務(wù)無(wú)法啟動(dòng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 深入聊聊MySQL中各種對(duì)象的大小長(zhǎng)度限制

    深入聊聊MySQL中各種對(duì)象的大小長(zhǎng)度限制

    在使用mysql的過(guò)程中總會(huì)遇到或大或小的問(wèn)題,這篇文章主要給大家介紹了關(guān)于MySQL中各種對(duì)象的大小長(zhǎng)度限制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-12-12
  • mssql2008 自定義表類型實(shí)現(xiàn)(批量插入或者修改)

    mssql2008 自定義表類型實(shí)現(xiàn)(批量插入或者修改)

    在做大型網(wǎng)站或者系統(tǒng)的時(shí)候,經(jīng)常會(huì)遇到個(gè)問(wèn)題就是批量插入或者修改數(shù)據(jù)庫(kù);今天這邊不講SqlBulkCopy,只簡(jiǎn)單講sql自定義表類型,感興趣的朋友可以了解下哦,希望本文對(duì)你有所幫助
    2013-01-01
  • MYSQL將表名稱修改成大寫的存儲(chǔ)過(guò)程

    MYSQL將表名稱修改成大寫的存儲(chǔ)過(guò)程

    這篇文章主要為大家詳細(xì)介紹了MYSQL將表名稱修改成大寫的存儲(chǔ)過(guò)程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • MySQL數(shù)據(jù)庫(kù)自增主鍵的間隔不為1的解決方式

    MySQL數(shù)據(jù)庫(kù)自增主鍵的間隔不為1的解決方式

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)自增主鍵的間隔不為1的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解mysql慢日志查詢

    詳解mysql慢日志查詢

    這篇文章主要介紹了mysql慢日志查詢的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論