MySQL 优化方案【大纲】
1. 选取最适用的字段属性
2. 使用连接(JOIN)来代替子查询(Sub-Queries)
3. 使用联合(UNION)来代替手动创建的临时表
4. 事务
5. 锁定表
6. 使用外键
7. 使用索引
8. 优化的查询语句
a. 最好是在相同类型的字段间进行比较的操作
b. 在建有索引的字段上尽量不要使用函数进行操作
c. 在搜索字符型字段时,我们有时会使用LIKE关键字和通配符,这种做法虽然简单,但却也是以牺牲系统性能为代价的
SQL优化实战
1. EXPLAIN
2. SQL语句中IN包含的值不应过多
3. SELECT语句务必指明字段名称
4. 当只需要一条数据的时候,使用limit 1
5. 如果排序字段没有用到索引,就尽量少排序
6. 如果限制条件中其他字段没有索引,尽量少用or
7. 尽量用union all代替union
8. 不使用ORDER BY RAND()
9. 区分in和exists、not in和not exists
10. 使用合理的分页方式以提高分页的效率
11. 分段查询
12. 避免在where子句中对字段进行null值判断
13. 不建议使用%前缀模糊查询
14. 避免在where子句中对字段进行表达式操作
15. 避免隐式类型转换
16. 对于联合索引来说,要遵守最左前缀法则
17. 必要时可以使用force index来强制查询走某个索引
18.注意范围查询语句
19.JOIN优化
|
|