文档中心MogDBMogDB StackUqbar
v3.0

文档:v3.0

支持的版本:

其他版本:

调优流程

对慢SQL语句进行分析,通常包括以下步骤:


收集SQL中涉及到的所有表的统计信息

在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。


通过查看执行计划来查找原因

如果SQL长时间运行未结束,通过EXPLAIN命令查看执行计划,进行初步定位。如果SQL可以运行出来,则推荐使用EXPLAIN ANALYZE或EXPLAIN PERFORMANCE查看执行计划及实际运行情况,以便更精准地定位问题原因。


针对EXPLAIN或EXPLAIN PERFORMANCE信息,定位SQL慢的具体原因以及改进措施

可以从以下四个方面分析:

  • SQL自诊断
  • 子查询调优
  • 统计信息调优
  • 算子级调优

通常情况下,有些SQL语句可以通过查询重写转换成等价的,或特定场景下等价的语句

重写后的语句比原语句更简单,且可以简化某些执行步骤达到提升性能的目的。查询重写方法在各个数据库中基本是通用的。

Copyright © 2011-2024 www.enmotech.com All rights reserved.