
# SQL分析
通过图表形式展现数据库、SQL语句的调用次数、响应时间、错误次数等关键指标，用于分析异常SQL语句导致的数据库性能问题，异常SQL语句是指慢SQL语句和调用出错的SQL语句。SQL分析当前仅支持MySQL、Oracle、PostgreSQL关系型数据库。
#### SQL操作界面说明
图1SQL界面图示   
![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0171729825.png "点击放大")
#### 异常SQL语句分析
数据库SQL语句异常，可能导致业务超时等性能问题。在日常运维中，可通过错误耗时、响应时间等关键指标对数据库进行监控，定位出那些执行耗时长、效率低、调用出错的SQL语句，并对其进行分析和优化。
SQL开关用来控制是否对SQL数据进行采集，操作前您需要确保该开关已开启，否则您将查询不到SQL数据。SQL开关默认为开启状态，若已被关闭，请在左侧导航栏中选择"采集管理 \> 采集配置"进行开启。
1. 登录**应用性能管理**。
2. 在左侧导航栏中选择"SQL分析"。
3. 在SQL界面中，设置右上角的时间范围，将时间调整到问题发生的时间段。
4. 在"概览"页签，通过数据库关键指标定位出应用中的问题数据库。数据库响应时间长、调用错误次数多都可能导致性能问题。 
   ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0174991469.png "点击放大")
   
   
5. 分析该数据库出现性能问题的原因。 
   单击"SQL分析"页签，在SQL语句列表中定位出异常SQL语句。
   ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0000001125991257.png "点击放大")
   
   
6. 进一步分析导致SQL语句异常的原因。 
   1. 单击该异常SQL语句，跳转到调用链页面，查看异常SQL对整个业务的影响。 ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0174991702.png "点击放大")
      
   
   2. 单击"操作"列的"查看调用关系"，找到异常SQL语句所在的方法。在该方法中对该SQL语句进行分析，例如，是没有用到索引、数据量过大、语法错误或出现死锁等原因导致SQL语句异常，找出原因后对SQL语句进行优化。 ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0174991582.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0174991751.png "点击放大")
      
   
   
   
   
 
#### 阈值规则
通过++[创建阈值规则](https://support.huaweicloud.com/usermanual-apm/apm_02_0071.html)++创建"资源类型"为SQL的阈值规则。
如果产生告警后，需要查看产生告警具体的SQL语句，需要如下步骤：
1. 从告警详情中查看告警上报的时间、sqlId，以及数据库实例tier。 
   ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0000001080585698.png "点击放大")
   
   

2. 在APM的SQL分析页面，根据查询到的tier和时间选择查询范围，查询到对应数据库实例当前时间内的SQL语句列表。 
   ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0000001081033722.png "点击放大")
   
   

3. 用查询到的sqlId搜索，查询到具体的SQL语句。 
   ![](https://support.huaweicloud.com/usermanual-apm/zh-cn_image_0000001127850451.png "点击放大")
   
   

4. 查询到SQL语句后，根据业务场景和SQL语句的指标值进行分析。
 
