以前跑了一個SQL,因爲其中一個表的數據量比較大,而在條件中有破壞索引或使用了不少其餘索引,就會使得sql跑的很是慢。。。mysql
那咱們怎麼解決呢? sql
這時候我麼能夠使用mysql force index() 強制索引來優化查詢語句;優化
使用MySQL force index 強制索引的目的是對目標表添加最關鍵的索引,使其優先使用該索引篩選數據;spa
select * from ws_shop a where date(create_time-interval 6 hour) > '2016-10-01 06:00:00'
若是表中的數據是百萬級的,這樣查詢是比較慢的;雖然你有可能在字段create_time上面加了索引,可是在where條件中又破壞了索引;致使索引失效;code
這是咱們優化爲:blog
select * from ws_shop a force index(create_time) where date(create_time-interval 6 hour) > '2016-10-01 06:00:00'