MySQL优化查询
做MySQL优化,要善于使用EXPLAIN查看SQL执行计划
- type列 ,连接类型。一个好的SQL语句至少要达到range级别。杜绝all级别。
- key列 ,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。
- key_len列 ,索引长度
- rows列 ,扫描行数。该值是个预估值。
- extra列 ,详细说明。注意,常见的不太友好的值。
注意点:
- SQL语句中IN包含的值不应过多
- 当只需要一条数据的时候,使用limt1
- SELECT语句务必指明字段名称
- SQL语句中IN包含的值不应过多
- 不使用ORDER BY RAND()
- 使用合理的分页方式以提高分页效率
- 分段查询
- 避免再where子句中对字段进行null判断
- 不建议再%前模糊查询
- 避免隐式类型转换
- 注意范围查询语句