一 概述
对于一些大型应用而言,SQL优化一直是重中之重。我们必须想方设法提高SQL执行的性能,否则由于庞大的数据量,它将成为整个系统性能的瓶颈。
二 SQL优化的一般步骤
当面对一个有SQL性能问题的数据库时,我们应该明白如何对它进行系统的分析。
- 通过show status命令了解各种SQL语句的执行频率
- 定位执行效率较低的SQL语句(通过慢查询日志或show processlist)
- 通过explain分析低效SQL的执行计划
- 确定问题并采取相应的优化措施
三 数据库优化
数据库的优化
- 建立索引(B树和hash)
- 定期分析表和检查表
- 定期优化表
SQl语句的优化
- 使用load大批量插入数据
- 优化insert语句。
- 优化group by语句
- 优化order by语句
- 优化嵌套查询
- 优化or条件
- 使用SQL提示
优化数据库对象
- 优化表的数据类型
- 通过拆分提高表的访问效率(分库分表)
- 逆规范化
- 使用中间表提高统计查询速度
应用优化
- 使用连接池
- 减少对数据库的访问(避免重复检索,做缓存等)
- 负载均衡(分库分表,查询分流)