索引失效 -- 使用Between范圍查詢時


需求說明

產品需要統計一段時間范圍內每月用戶的注冊人數(根據用戶信息表中的創建時間),需要我通過SQL導出數據,但是數據量太大,導出需要20多秒,於是我嘗試在創建時間字段中加索引,但是發現加了索引后索引失效了,通過limit限制數量后索引才生效。

實戰操作

無索引時查詢的時間26秒多和記錄數量為10萬+

創建時間字段加索引

 

加索引后發現還是很慢,於是通過EXPLAIN命令查看執行情況,發現還是全表掃描,沒有使用索引。

通過LIMIT限制數量后再EXPALIN查看執行命令

  

總結

隨着表的增長,where條件出來的數據太多可能會使得索引失效(會導致CBO優化器計算走索引花費大於走全表)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM