影響查詢命中率高低的四個因素:1.一模一樣的sql重複執行的次數;2.查詢語句結果集有多少緩存在query_cache_size中;3.有多少查詢語句結果集緩存,因元數據發生變化而不得不從緩存中踢出;4.查詢緩存能存多少結果集,那麼就由query_cache_size配置信息和查詢結果集的大小有關係;
- 情感問答
- 答案列表
mysql查詢緩存:mysql查詢緩存設置[朗讀]
設置好查詢緩存的大小就行了.比如設置個20mb.setglobalquery_cache_size=20000000;mysql會將查詢sql和結果集存到緩存中,等下次遇到相同的sql語句時,結果集從緩存中讀齲不設置就不用緩存了。
這個是你開啟了mysql查詢緩存的緣故,可以查看showvariableslike'%query_cache_size%';的參數,如果不是0,那就是開啟了,第一次查詢時,因為緩存中沒有記錄,所以要3秒,第二次查詢時,緩存里有了,就直接從緩存里取,操作內存肯定是很快的,你可以在第一次查詢之後,執行flushtables清除緩存,第二次查詢的時間應該會和第一次差不多。
開查詢緩存可以加快查詢速度,因為是把結果先放到了緩存中,存取會快。
mysql緩存數據,一般都是放在內存的,因為速度快管理方便.硬碟在高速的請求下,io會成為瓶頸.但如果涉及大操作複雜操作,要查詢+排序+索引的話,會先生成一個臨時文件在硬碟,完成後自動刪除。