mysql具体优化查询语句

来源:互联网 发布:云计算优缺点 编辑:程序博客网 时间:2024/05/01 02:12

1)应尽量避免全表扫描。首先应考虑在where以及order by涉及的列上建立索引,相对于使用给定索引,全表扫描很耗时。
2)应尽量避免在where子句中对字段进行null值判断,任何where子句在使用is null或 is not null 的语句优化器都是不允许使用损索引的
3)尽量避免在where子句中使用!= 或<>操作符,如果查询条件中存在!=或者<>操作符时,mysql将无法使用索引而进行全表扫描
4)尽量避免在where子句中使用or连接条件。where语句中使用OR,且没有使用覆盖索引,会进行全表扫描。
5)慎用in和not in,否则会导致全表扫描,尽量使用between代替in
6)如果在where子句中使用参数,也会导致全表扫描。
7)尽量避免在where子句中对字段进行表达式操作,这将导致mysql放弃使用索引
8)避免在where子句中对字段进行函数操作
9)索引字段不是复合索引的前缀索引。
MySQL在查询时候只能使用一个索引,所以如果where子句中使用了一个索引,那么order by里面的索引就没用了,这个时候就建议在把where里面的字段和order by里面的字段一起组合成一个复合索引
0 0
原创粉丝点击