一、背景
之前写过一篇文章《oracle强制走索引,提高sql查询效率》:https://blog.csdn.net/weixin_41287692/article/details/79350991
由于现在使用 mysql 多一些,所以搜索了一下 mysql 是否也有类似的强制使用索引
二、使用方法
- 语法
force index(强制要走的那个索引) - 示例
强制使用索引前
SELECT * FROM XXX_log WHERE (`ctime` BETWEEN '2017-09-11 09:34:13' AND '2017-10-11 09:34:13')
and id > 27851
AND column1 = 'xxx'
AND (column2 = 'null' OR LENGTH(column2) > 91)
ORDER BY id DESC LIMIT 0, 30
强制使用索引后
SELECT * FROM XXX_log force index(ctime) WHERE (`ctime` BETWEEN '2017-09-11 09:34:13' AND '2017-10-11 09:34:13')
and id > 27851
AND column1 = 'xxx'
AND (column2 = 'null' OR LENGTH(column2) > 91)
ORDER BY id DESC LIMIT 0, 30