一、DM7查询优化基本思路
遇到数据库性能问题,一般从下面3个方面分析
1、操作系统性能诊断:
LINUX常用性能监控命令
- 使用top命令查看cpu使用率
- 使用iostat命令查看磁盘I/O使用情况
- 使用dstat工具查看磁盘I/O使用情况
- 使用free命令查看内存使用情况
- 使用nmon工具监控系统一段时间的整体情况
- 使用perf top命令查看系统热点情况
这些都是运维方面一些比较基础的操作,网上有大量相关的资料,这里就不再赘述了。
分析:如果发现数据库主机的cpu、I/O、内存等使用率很高,往往说明数据库存在性能瓶颈。也可能是硬件本身存在问题,但这种可能性比较小,也容易排除。
2、数据库架构优化
数据库架构是否最优?
根据业务的特性,选择合适的数据库架构非常必要。
数据库参数优化:
3、SQL分析优化
数据库会话监控:
SQL优化:
数据库的性能问题最终都要涉及到SQL优化,处理流程:
生成SQL日志
SQL日志分析流程:
PS:对于比较大SQL日志(大于10G),建议采用ETL入库,入库较快。