MySQL高级 - 查询缓存 - 失效场景
生活随笔
收集整理的這篇文章主要介紹了
MySQL高级 - 查询缓存 - 失效场景
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
查詢緩存失效的情況
1) SQL 語句不一致的情況, 要想命中查詢緩存,查詢的SQL語句必須一致。
SQL1 : select count(*) from tb_item; SQL2 : Select count(*) from tb_item;2) 當查詢語句中有一些不確定的時,則不會緩存。如 : now() , current_date() , curdate() , curtime() , rand() , uuid() , user() , database() 。
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) 如果表更改,則使用該表的所有高速緩存查詢都將變?yōu)闊o效并從高速緩存中刪除。這包括使用MERGE映射到已更改表的表的查詢。一個表可以被許多類型的語句,如被改變 INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE,或 DROP DATABASE 。
總結(jié)
以上是生活随笔為你收集整理的MySQL高级 - 查询缓存 - 失效场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL高级 - 查询缓存 - SEL
- 下一篇: MySQL高级 - 内存优化 - 优化原