码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-10-25 23:45:03      阅读:647      评论:0      收藏:0      [点我收藏+]

标签:字段   int   查询   strong   log   筛选   style   索引   条件   

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

 

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

标签:字段   int   查询   strong   log   筛选   style   索引   条件   

原文地址:http://www.cnblogs.com/sdgf/p/5998423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!