天天看點

MySQL查詢緩存簡單使用

MySQL查詢緩存簡單使用

mysql查詢緩存簡單使用

MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,屬于 Oracle 旗下産品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一。

當我們開啟Mysql的查詢緩存,當執行完全相同的SQL語句的時候,伺服器就會直接從緩存中讀取結果。當資料被修改, 之前的緩存會失效,是以修改比較頻繁的表不适合做查詢緩存。

MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用

參數

含義

Qcache_free_blocks

查詢緩存中的可用記憶體塊數

Qcache_free_memory

查詢緩存的可用記憶體量

Qcache_hits

查詢緩存命中數

Qcache_inserts

添加到查詢緩存的查詢數

Qcache_lowmen_prunes

由于記憶體不足而從查詢緩存中删除的查詢數

Qcache_not_cached

非緩存查詢的數量(由于 query_cache_type 設定而無法緩存或未緩存)

Qcache_queries_in_cache

查詢緩存中注冊的查詢數

Qcache_total_blocks

查詢緩存中的塊總數

MySQL的查詢緩存預設是關閉的,需要手動配置參數 query_cache_type , 來開啟查詢緩存。query_cache_type

該參數的可取值有三個

OFF 或 0

查詢緩存功能關閉

ON 或 1

查詢緩存功能打開,SELECT的結果符合緩存條件即會緩存,否則,不予緩存,顯式指定 SQL_NO_CACHE,不予緩存

DEMAND 或 2

查詢緩存功能按需進行,顯式指定 SQL_CACHE 的SELECT語句才會緩存;其它均不予緩存

MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用
MySQL查詢緩存簡單使用

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

SQL_CACHE : 如果查詢結果是可緩存的,并且 query_cache_type 系統變量的值為ON或 DEMAND ,則緩存查詢 結果 。

SQL_NO_CACHE : 伺服器不使用查詢緩存。它既不檢查查詢緩存,也不檢查結果是否已緩存,也不緩存查詢結果

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

如題

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

以上便是關于mysql查詢緩存簡單使用總結

繼續閱讀