mysql force index() 强制索引的使用
Posted HalfWater
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘
以上是关于mysql force index() 强制索引的使用的主要内容,如果未能解决你的问题,请参考以下文章
mysql hint优化器提示之使用force index 强制使用索引和指定禁用索引