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

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

 

以前跑了一个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'
相关文章
相关标签/搜索