我有以下疑问:MySQL查询优化 - 使用索引
select from `table` where `a`>0 order by `b` desc limit 0, 10
select from `table` where `a`<0 order by `b` desc limit 0, 10
我希望他们能够尽可能快地运行。现在问题是什么是最好的解决方案?
- 对于B
- 创建一个多列索引的创建索引,创建索引,B
- 对于B创建多列索引,一个
我的猜测是,使用多列索引会给最好的结果......但是什么是正确的列顺序? MySQL将首先匹配列a
,然后是b
,或者先匹配b
,然后再匹配a
?
感谢上(a,b)
EXPLAIN说什么? –
在这种情况下,复合索引不起作用。 –
你的表中'a> 0'和'a <0'的行数是多少? –