SELECT COUNT(*) AS count FROM ( SELECT `uid` FROM `finreport` WHERE `checkday` BETWEEN '2013-1-24' AND '2017-07-27' GROUP BY uid ) t LIMIT 1
50w不到的資料,沒加索引0.3秒;在uid上加索引反而要8-9秒,這是什么原因?
如果在uid和checkday上加聯合索引效果就體現出來了
用explain 分析發現 只加uid索引和加uid、checkday聯合索引 唯一區別是 key_len 一個4一個是7,查詢的rows數是完全一樣的
uj5u.com熱心網友回復:
以文本方式貼出(不要貼圖!)explain select ....
及
show index from
以供分析
uj5u.com熱心網友回復:
在uid上加索引本身并不能提高你的陳述句查詢速度,因為你是根據checkday去檢索資料的,所以只需要單獨加個checkday欄位的索引就可以了。uj5u.com熱心網友回復:
同上!樓上是我老鐵!uj5u.com熱心網友回復:
只需要checkday加索引轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116653.html
標籤:MySQL
下一篇:VFP+SQL,查找當前網路可用的SQL服務器,總是顯示錯誤:未發現可用的服務器,我裝的SQL2008(32BIT),WIN7(32)系統,并安裝了SQLDMO
