SQL提示:当一个字段被多个索引时,系统会自动选择使用哪个索引,但是如果想自己选择使用哪个索引,需要加入一些认位的提示来达到优化操作的目的。
可以看到name这个字段被索引了两次
查看系统选择哪个索引
explain select * from tb_user where name='黄渤';
如果我们有自己的想法
目录
1、使用索引 use index
2、不适用索引 ignore index
3、强制使用索引 force index
1、使用索引 use index
explain select * from tb_user use index(index_name) where name='黄渤';
2、不适用索引 ignore index
explain select * from tb_user ignore index(index_name) where name='黄渤';
3、强制使用索引 force index
explain select * from tb_user force index(index_name) where name='黄渤';
解释use和force的区别:use是建议,实际上使用哪个索引MySQL还会自己权衡运行速度进行更改,如果使用force的话就是无论如何都清治使用该索引