這兩天發現原來的查詢效率慢了,使用explain 查看,居然沒有使用索引,
我的索引是日期類型的,首先想到的是mysql對日期類型的索引的處理機制是不是不同,在where條件里試了幾種,發現效果都差不多,
where dayid >= ‘20161121’
where dayid >= ‘2016-11-21’
where dayid between ‘2016-11-01’ and ‘2016-11-21’
還有各種函數,最后發現結論都是一樣的,在baidu上查詢也沒有有價值的內容。
最后發現了一些規律,但不知道是否有普遍性,即:
在查詢數據條數約占總條數五分之一以下時能夠使用到索引,但超過五分之一時,則使用全表掃描了。
試了多張表,均是這個結論, 所以想這個五分之一應該是在某一個地方設置的,或者是系統默認在查詢優化時的一個經驗值,在以后的處理的進修引起注意。