濮阳杆衣贸易有限公司

主頁 > 知識庫 > 詳解mysql查詢緩存簡單使用

詳解mysql查詢緩存簡單使用

熱門標(biāo)簽:怎樣在地圖標(biāo)注銷售區(qū)域 南昌三維地圖標(biāo)注 啥是企業(yè)400電話辦理 電話外呼系統(tǒng)改號 地圖標(biāo)注費用是多少 百應(yīng)電話機器人優(yōu)勢 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 曲靖移動外呼系統(tǒng)公司 外呼系統(tǒng)打電話上限是多少

MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一。

當(dāng)我們開啟Mysql的查詢緩存,當(dāng)執(zhí)行完全相同的SQL語句的時候,服務(wù)器就會直接從緩存中讀取結(jié)果。當(dāng)數(shù)據(jù)被修改, 之前的緩存會失效,所以修改比較頻繁的表不適合做查詢緩存。

一、查詢緩存的實現(xiàn)流程

二、配置查詢緩存

1、查看當(dāng)前的mysql數(shù)據(jù)庫是否支持查詢緩存

SHOW VARIABLES LIKE 'have_query_cache';

2、查看當(dāng)前mysql是否開啟了查詢緩存

SHOW VARIABLES LIKE 'query_cache_type';

3、查看查詢緩存的占用大小

SHOW VARIABLES LIKE 'query_cache_size';

4、查看查詢緩存的狀態(tài)變量

SHOW STATUS LIKE 'Qcache%';

參數(shù) 含義
Qcache_free_blocks 查詢緩存中的可用內(nèi)存塊數(shù)
Qcache_free_memory 查詢緩存的可用內(nèi)存量
Qcache_hits 查詢緩存命中數(shù)
Qcache_inserts 添加到查詢緩存的查詢數(shù)
Qcache_lowmen_prunes 由于內(nèi)存不足而從查詢緩存中刪除的查詢數(shù)
Qcache_not_cached 非緩存查詢的數(shù)量(由于 query_cache_type 設(shè)置而無法緩存或未緩存)
Qcache_queries_in_cache 查詢緩存中注冊的查詢數(shù)
Qcache_total_blocks 查詢緩存中的塊總數(shù)

三、開啟查詢緩存

MySQL的查詢緩存默認(rèn)是關(guān)閉的,需要手動配置參數(shù) query_cache_type , 來開啟查詢緩存。query_cache_type
該參數(shù)的可取值有三個

含義
OFF 或 0 查詢緩存功能關(guān)閉
ON 或 1 查詢緩存功能打開,SELECT的結(jié)果符合緩存條件即會緩存,否則,不予緩存,顯式指定 SQL_NO_CACHE,不予緩存
DEMAND 或 2 查詢緩存功能按需進(jìn)行,顯式指定 SQL_CACHE 的SELECT語句才會緩存;其它均不予緩存

1、在usr/my.cnf中進(jìn)行配置(配置文件也可能在/etc/my.cnf)

2、重啟服務(wù)

service mysql restart

3、測試


四、查詢緩存SELECT選項

可以在SELECT語句中指定兩個與查詢緩存相關(guān)的選項

  • SQL_CACHE : 如果查詢結(jié)果是可緩存的,并且 query_cache_type 系統(tǒng)變量的值為ON或 DEMAND ,則緩存查詢 結(jié)果 。
  • SQL_NO_CACHE : 服務(wù)器不使用查詢緩存。它既不檢查查詢緩存,也不檢查結(jié)果是否已緩存,也不緩存查詢結(jié)果
SELECT SQL_CACUE id,name FROM customer;
SELECT SQL_NO_CACHE id,name FROM customer;

五、查詢緩存失效現(xiàn)象

1、SQL語句不一致

要想命中緩存,查詢的SQL語句必須一致

SQL1:select count(*) from tb_item;
SQL2:select count(*) from tb_Item;

2、查詢語句有一些不確定的值

SQL1:select * from tb_item where updatetime  now() limit 1;
SQL2:select user();
SQL3:select database();

3、不使用任何表查詢語句

select 'A';

4、查詢mysql、information_schema或performance_schema數(shù)據(jù)庫中的表

select * from information_schema.engines;

5、在存儲的函數(shù)、觸發(fā)器或事件主體內(nèi)執(zhí)行的查詢

如題

6、表更改導(dǎo)致緩存刪除

如果表更改,則使用該表的所有高速緩存查詢都將變?yōu)闊o效并從高速緩存中刪除。這包括使用 MERGE 映射到 已更改表的表的查詢。一個表可以被許多類型的語句,如被改變 INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE,或 DROP DATABASE 。

以上便是關(guān)于mysql查詢緩存簡單使用總結(jié)

到此這篇關(guān)于詳解mysql查詢緩存簡單使用的文章就介紹到這了,更多相關(guān)mysql查詢緩存使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL查詢緩存的小知識
  • MySQL緩存的查詢和清除命令使用詳解
  • MySQL的查詢緩存機制基本學(xué)習(xí)教程
  • 清空mysql 查詢緩存的可行方法
  • mysql的查詢緩存說明
  • mysql 設(shè)置查詢緩存

標(biāo)簽:黑河 資陽 隨州 錦州 吉林 甘南 滄州 荊州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解mysql查詢緩存簡單使用》,本文關(guān)鍵詞  詳解,mysql,查詢,緩存,簡單,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解mysql查詢緩存簡單使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解mysql查詢緩存簡單使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    玉环县| 阆中市| 华安县| 师宗县| 泰兴市| 上栗县| 松阳县| 海安县| 穆棱市| 朝阳区| 南江县| 会昌县| 蒙自县| 远安县| 读书| 宜都市| 乌拉特后旗| 广西| 凉山| 沅江市| 班玛县| 汉沽区| 枣强县| 泌阳县| 辰溪县| 洞口县| 沈丘县| 德格县| 寻乌县| 会昌县| 林西县| 阜康市| 南安市| 广平县| 乌兰察布市| 河北区| 隆安县| 维西| 定陶县| 昭苏县| 股票|