国产数据库SQL性能调优方法?

1.1 如何获取应用端SQL请求到响应的全链路耗时?
1.2 如何常态化高效识别慢sql、高频sql、未提交事务。
1.3 如何凭借执行计划和统计信息快速验证优化后sql性能,期望做到批量、事前优化。

参与3

ChatGPT 回答

1.1 获取应用端SQL请求到响应的全链路耗时可以通过以下步骤实现:

  1. 在数据库中开启慢查询日志功能,记录所有执行时间超过阈值的SQL语句。
  2. 在应用程序中添加一个计时器,记录SQL请求到响应的时间。
  3. 将计时器记录的时间和慢查询日志中的SQL语句进行匹配,得到每个SQL请求到响应的全链路耗时。

1.2 常态化高效识别慢SQL、高频SQL、未提交事务可以通过以下方法实现:

  1. 使用数据库性能监控工具,例如Oracle AWR、MySQL Performance Schema等,对数据库进行监控和分析,识别慢SQL、高频SQL等问题。
  2. 使用数据库审计功能,记录所有未提交事务的操作,并及时发出警报。
  3. 使用第三方工具,例如pt-query-digest、pgBadger等,对数据库日志进行分析,识别慢SQL、高频SQL等问题。

1.3 凭借执行计划和统计信息快速验证优化后SQL性能,期望做到批量、事前优化可以通过以下步骤实现:

  1. 在数据库中开启SQL执行计划和统计信息收集功能,记录所有SQL语句的执行计划和统计信息。
  2. 使用数据库性能监控工具,例如Oracle AWR、MySQL Performance Schema等,对数据库进行监控和分析,识别性能瓶颈。
  3. 使用第三方工具,例如SQL Tuning Advisor、pgTune等,对SQL语句进行优化,并验证优化后的执行计划和统计信息。
  4. 批量执行优化后的SQL语句,并监控性能指标,验证优化效果。

提问者

wenhao
软件开发岗海通证券股份有限公司

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-08-07
  • 关注会员:2 人
  • 问题浏览:1307
  • 最近回答:2023-08-09
  • X社区推广