# TOP SQL
在实例开启全量SQL的前提下，该模块基于全量SQL数据进行分析，并提供多维度的分析、搜索、过滤的能力，帮助用户全面洞察SQL，TOP SQL快速定位异常原因，保障数据库稳定运行。
#### 使用须知
- 如果实例未升级高级智能运维包，只能看到最近一小时数据，到期后自动删除。升级后可查看自定义时间段（间隔不超过一天）内的TOP SQL。
- 当前全量SQL受内存缓冲区限制，业务量大的场景下，全量SQL有较小概率因缓冲区满，存在丢弃部分记录。
- 当前全量SQL单条记录超过设置的上限时，会默认丢弃该条记录。 此限制可以通过设置参数"rds_sql_tracer_max_record_size"来选择是否丢弃。您可以通过[修改TaurusDB实例参数](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_configuration.html)设置参数值，超过该值的记录会被丢弃。
  
 
#### 操作步骤
1. [登录DAS管理控制台](https://console.huaweicloud.com/das/#/das/overview)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000001694653209.png)，选择区域和项目。
3. 在左侧的导航栏中单击"DBA智能运维 \> 实例列表"页签，进入DBA智能运维实例列表页面。 
   您也可以在产品概览页面，单击"进入DBA智能运维"，进入DBA智能运维实例列表页面。
   
   
4. 在实例列表页面右上角，按照引擎、实例名称或者实例IP筛选实例。
5. 选择目标实例，单击"详情"，进入"实例概览"页面。
6. 单击"SQL \> TOP SQL"，进入TOP SQL页面。 
   如果未开启收集全量SQL开关，将无法获取全量SQL数据进行分析，如需使用，请在页面右侧单击"日志管理"，开启"收集全量SQL"。
   图1日志管理   
   ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000001707071117.png)
   ![](https://support.huaweicloud.com/usermanual-das/public_sys-resources/note_3.0-zh-cn.png)
   DAS收集全量SQL功能开启后立即生效。
   收集全量SQL开启后如需关闭，在右侧单击"日志管理"，关闭即可。
   
   
7. 在"TOP SQL"页签中，查看TOP SQL执行耗时分布情况。 
   - 您可以根据需要设置时间段，选择"近1小时"、"近3小时"、"近6小时"、"近12小时"，查看当前时间段内的TOP SQL执行耗时分布。也可以选择上述以外时间段进行查看，间隔不得超过一天。
     图2TOP SQL   
     ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000002510172757.png)
     执行耗时分布展示了选定时间范围内所有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列表   
     ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000002512485595.png) 
   
   - 在执行耗时分布图上用鼠标选择一段时间，查看该段时间的Top SQL列表。
     图4查看特定时间段内的TOP SQL   
     ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000002480645682.png) 
   
   - 勾选页面左上角"日期对比"，可以对当前实例在不同天同一时间段内的TOP SQL分布情况进行对比分析。
     图5TOP SQL对比   
     ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000002512605575.png) 
   
   
   
   
8. 查看和导出SQL模板。例如数据库名称、SQL操作类型、总执行次数、总CPU耗时占比、平均执行耗时、平均锁等待耗时和平均扫描行数等。 
   - 根据需要在"SQL模板"、"数据库"以及"SQL操作类型"设置后，查看SQL模板。
     图6SQL模板   
     ![](https://support.huaweicloud.com/usermanual-das/zh-cn_image_0000002510178477.png) 
   
   - 单击操作栏的"详情"按钮，可以查看该执行SQL的详细执行信息。例如总执行次数、平均扫描行数、平均执行耗时等信息。
   
   - 单击操作栏的"SQL限流"按钮，可以设置SQL限流规则，具体操作请参见[SQL限流](https://support.huaweicloud.com/usermanual-das/das_05_0101.html)。
   
   - 单击操作栏的"SQL诊断"按钮，可以查看该执行SQL的详细诊断信息。例如执行计划、索引优化建议、语句优化建议等信息。
   
   - 单击"导出 \> 导出全部数据到XLSX"按钮，可以导出和查看SQL模板的详细信息。
   
   
   
   
 
