我試圖執行下面的查詢Mysql的GROUP BY查詢到30+秒執行
select COUNT(*) from tbl_impressions group by spackage
,並花了大約40秒,第一次執行,但過一段時間後,相同的查詢在2秒內執行。
有沒有人知道原因?
PS:所有表格都已編入索引。
在此先感謝。
我試圖執行下面的查詢Mysql的GROUP BY查詢到30+秒執行
select COUNT(*) from tbl_impressions group by spackage
,並花了大約40秒,第一次執行,但過一段時間後,相同的查詢在2秒內執行。
有沒有人知道原因?
PS:所有表格都已編入索引。
在此先感謝。
之所以出現這種情況是:SELECT語句與 被髮送到客戶端的相應結果一起
查詢緩存存儲的文本。如果稍後收到相同的 語句,服務器將從 查詢緩存中檢索結果,而不是再次解析並執行該語句。 查詢緩存在會話中共享,因此可以發送由一個 客戶端生成的結果集,以響應另一個 客戶端發出的相同查詢。
請進一步提供文件看這裏http://dev.mysql.com/doc/refman/5.1/en/query-cache.html
謝謝Christos Paisios – gurunglaxman0
歡迎您! – Christos
大。我們無法閱讀頭腦,因此,請添加您的表結構和'EXPLAIN'輸出 –
查詢正在編譯,優化程序發現一個執行計劃,之後所有內容都被緩存。 – Mihai
http://stackoverflow.com/questions/2710621/count-vs-count1-vs-countpk-which-is-better – Damodaran