更新时间:2025-11-24 GMT+08:00
TOP SQL
在实例开启全量SQL的前提下,该模块基于全量SQL数据进行分析,并提供多维度的分析、搜索、过滤的能力,帮助用户全面洞察SQL,TOP SQL快速定位异常原因,保障数据库稳定运行。
使用须知
- 如果实例未升级高级智能运维包,只能看到最近一小时数据,到期后自动删除。升级后可查看自定义时间段(间隔不超过一天)内的TOP SQL。
- 当前全量SQL受内存缓冲区限制,业务量大的场景下,全量SQL有较小概率因缓冲区满,存在丢弃部分记录。
- 当前全量SQL单条记录超过设置的上限时,会默认丢弃该条记录。
此限制可以通过设置参数“rds_sql_tracer_max_record_size ”来选择是否丢弃。您可以通过修改TaurusDB实例参数设置参数值,超过该值的记录会被丢弃。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。 - 单击页面左上角的
,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。 - 在左侧的导航栏中单击页签,进入DBA智能运维实例列表页面。
您也可以在产品概览页面,单击“进入DBA智能运维”,进入DBA智能运维实例列表页面。
- 在实例列表页面右上角,按照引擎、实例名称或者实例IP筛选实例。
- 选择目标实例,单击“详情”,进入“实例概览”页面。
- 单击,进入TOP SQL页面。
如果未开启收集全量SQL开关,将无法获取全量SQL数据进行分析,如需使用,请在页面右侧单击“日志管理”,开启“收集全量SQL”。
图1 日志管理
DAS收集全量SQL功能开启后立即生效。
收集全量SQL开启后如需关闭,在右侧单击“日志管理”,关闭即可。
- 在“TOP SQL”页签中,查看TOP SQL执行耗时分布情况。
- 您可以根据需要设置时间段,选择“近1小时”、“近3小时”、“近6小时”、“近12小时”,查看当前时间段内的TOP SQL执行耗时分布。也可以选择上述以外时间段进行查看,间隔不得超过一天。
图2 TOP SQL
执行耗时分布展示了选定时间范围内所有SQL的执行耗时分布,共分为以下4个区间。
- <100ms:执行耗时<100ms的SQL执行次数
- 100ms-500ms:100ms≤执行耗时<500ms的SQL执行次数
- 500ms-1s:500ms≤执行耗时<1s的SQL执行次数
- >1s:执行耗时>1s的SQL执行次数
上述4个区间内的SQL执行次数是根据用户选择的时间段来计算的。
- 如果用户选择1小时以内(包括1小时)的时间段,执行耗时分布每10秒计算一次。
- 如果用户选择6小时以内(包括6小时)的时间段,执行耗时分布1分钟计算一次。
- 如果用户选择大于6小时的时间段,执行耗时分布每5分钟计算一次。
DAS支持查看实例级别和节点级别的执行耗时分布,当您选择“节点”时,默认显示主节点的执行耗时分布。如果您想查看其他节点的执行耗时分布,请单击切换节点按钮选择其他您想要查看的节点。
- 单击执行耗时分布图上的某个点,查看该时间点的TOP SQL列表。
图3 查看特定时间点的TOP SQL列表
- 在执行耗时分布图上用鼠标选择一段时间,查看该段时间的Top SQL列表。
图4 查看特定时间段内的TOP SQL
- 勾选页面左上角“日期对比”,可以对当前实例在不同天同一时间段内的TOP SQL分布情况进行对比分析。
图5 TOP SQL对比
- 您可以根据需要设置时间段,选择“近1小时”、“近3小时”、“近6小时”、“近12小时”,查看当前时间段内的TOP SQL执行耗时分布。也可以选择上述以外时间段进行查看,间隔不得超过一天。
- 查看和导出SQL模板。例如数据库名称、SQL操作类型、总执行次数、平均执行耗时、平均锁等待耗时和平均扫描行数等。
- 根据需要在“SQL模板”、“数据库”以及“SQL操作类型”设置后,查看SQL模板。
图6 SQL模板
- 单击操作栏的“详情”按钮,可以查看该执行SQL的详细执行信息。例如总执行次数、平均扫描行数、平均执行耗时等信息。
- 单击操作栏的“SQL限流”按钮,可以设置SQL限流规则,具体操作请参见SQL限流。
- 单击操作栏的“诊断”按钮,可以查看该执行SQL的详细诊断信息。例如执行计划、索引优化建议、语句优化建议等信息。
- 单击操作栏的“导出”按钮,可以导出和查看SQL模板的详细信息。
- 根据需要在“SQL模板”、“数据库”以及“SQL操作类型”设置后,查看SQL模板。
父主题: SQL