mysql force index() 強制索引的使用


mysql force index() 強制索引的使用

 

之前跑了一個SQL,由於其中一個表的數據量比較大,而在條件中有破壞索引或使用了很多其他索引,就會使得sql跑的非常慢。。。

那我們怎么解決呢? 

這時候我么可以使用mysql force index() 強制索引來優化查詢語句;

使用MySQL force index 強制索引的目的是對目標表添加最關鍵的索引,使其優先使用該索引篩選數據;

select * from ws_shop a 
where date(create_time-interval 6 hour) > '2016-10-01 06:00:00'

如果表中的數據是百萬級的,這樣查詢是比較慢的;雖然你有可能在字段create_time上面加了索引,但是在where條件中又破壞了索引;導致索引失效;

這是我們優化為:

select * from ws_shop a force index(create_time)
where date(create_time-interval 6 hour) > '2016-10-01 06:00:00'

 


免責聲明!

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



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