暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分布式数据库学习Note97:OceanBase社区版中,SQL 调优的基本流程是什么?

在 SQL 调优中,针对慢 SQL 的分析步骤如下:

  1. 通过全局 SQL 审计表 (G)V$OB_SQL_AUDIT、 SQL Trace 和计划缓存视图查看 SQL 执行性能信息,初步查找 SQL 请求的流程中导致耗时或消耗资源(如内存、磁盘 IO 等)的 SQL。请参见示例 查询某段时间内执行时间排名 TOP N 的请求

    关于 SQL 性能分析,请参见 SQL 执行性能监控

  2. 单条 SQL 的执行性能往往与该 SQL 的执行计划相关,因此,执行计划的分析是最重要的手段。通过执行 EXPALIN 命令查看优化器针对给定 SQL 生成的逻辑执行计划,确定可能的调优方向。请参见示例 查看执行计划形状并做分析

    关于执行计划的详细信息,请参见 SQL 执行计划简介

  3. 收集 SQL 中涉及到的表、列、谓词等对象的统计信息。统计信息是代价模型中选取最优执行计划的关键,优化器可以利用统计信息来优化计划的选择策略。请参见 收集统计信息

  4. 找到具体的慢 SQL,为了使某些 SQL 的执行时间或资源消耗符合预期,常见的优化方式如下:

    • 对 SQL 做等价改写生成最佳执行计划,详细信息请参见 查询改写
    • 针对多表访问的 SQL,还需要关注多表间的联接问题,通过优化访问路径、联接顺序和联接算法等实现查询优化。详细信息请参见 访问路径联接算法 和 联接顺序
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论