mysql一次查询能用多个索引吗?
SELECT * FROM t1 WHERE key1 < 10 OR key2 < 20 or key3 < 30;#index_merge
SELECT * FROM t1 WHERE (key1 < 10 OR key2 < 20) and key3 < 30;#range
比如以上有三个,后面的#是explain 后的type,本人亲测。
1、mysql只会选择其中的一个作为索引?
2、index_merge类型和range类型都是只用一个key作为索引吗?
3、如何从一个sql语句大致判断它会是index_merge查询 还是 range查询?为什么上面把or 换成 and 就变成了 range查询?
mysql版本5.5.43
如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

发布评论
需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。