where a=1 and b=1
where b=1
where b=1 order by time desc
请问这三条sql 如何建索引
只建一条怎么建
还有一个问题 就是 mysql 优化器会自动调整 where 条件的前后顺序吗
where a=1 and b=1
where b=1
where b=1 order by time desc
请问这三条sql 如何建索引
只建一条怎么建
还有一个问题 就是 mysql 优化器会自动调整 where 条件的前后顺序吗
一条的话 ... Index( b, time, a ) 联合索引 ...
MySQL 优化器不会自动调整 WHERE 的先后顺序 ... 所以需要你自己写的时候注意 ...
3 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
3 回答1.6k 阅读
2 回答969 阅读✓ 已解决
具体问题具体分析吧,mysql版本之间的差别比较大,需要针对不同的版本要看对索引的支持如何,
这三条查询中,b字段的查询频率最高,所以b字段要加入到索引中,多列索引中,索引的列顺序很重要。
只想建立单个索引,index(b,time)最合适。
“where a=1 and b=1”应该改为“where b=1 and a=1”