# 查询慢SQL列表 - QueryingSlowSQLStatements
#### 功能介绍
根据节点信息，查询慢SQL列表。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 接口约束
仅支持包含有CN或DN（主、备）组件的节点。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=ListSlowSqls)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/slow-sql-list
表1参数说明 
| 名称     | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id | 是        | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| instance_id                  | 是                           | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token   | 是     | String   | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language | 否     | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围** **：** - **zh-cn：**中文  - **en-us** **：**英文   **默认取值** **：** **en-us**                 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| start_time   | 是   | Long            | **参数解释：** 起始日期。 **约束限制：** 13位UNIX时间戳格式，单位是毫秒，时区是UTC。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| end_time      | 是    | Long           | **参数解释：** 结束日期。 **约束限制：** 13位UNIX时间戳格式，单位是毫秒，时区是UTC。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| instance_id | 是   | String         | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
| threshold    | 是     | Integer         | **参数解释：** 慢SQL阈值，单位是秒。 **约束限制：** 不涉及。 **取值范围：** 输入值必须在1到99之间。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| node_ids    | 是   | Array of strings | **参数解释：** 节点ID。获取方式请参考[查询实例的组件列表 - QueryingtheComponentsofaDBInstance](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_028.html)。 **约束限制：** 不能为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| sql_id       | 否   | String         | **参数解释** 慢SQL的sql_id，可按照sql_id过滤查询。此参数是慢SQL的唯一标识，用于查询某一慢SQL的信息。通过首次调用该接口，仅传入必选的参数，即可在响应参数中获取到sql_id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| multi_queries | 否     | Array of objects | **参数解释** **：** 字段汇聚查询条件列表。 详情请参见[表4]。 **约束限制：** 只支持针对query字段全与或者全或的查询。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表4MultiMergeCondition 
| **参数** | 是否必选 | **参数类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| name                              | 是   | String  | **参数解释** **：** 查询字段名称。 **约束限制：** 只支持字符串"query"。 **取值范围：** "query"：表示查询。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| condition                           | 是      | String  | **参数解释** **：** 合并条件。多个筛选条件之间的逻辑合并方式。当查询涉及多个筛选条件时，通过该参数指定条件之间是"且"还是"或"的关系。 **约束限制：** 不涉及。 **取值范围：** - "and"："与"。  - "or"："或"。  - "AND"："与"。  - "OR"："或"。   **默认取值** **：** 不涉及。 |
| values                               | 是     | Array of strings                    | **参数解释** **：** 多个过滤检索条件内容集合。每个字符串为一个SQL文本查询条件，用于对query字段进行模糊匹配。 **约束限制：** 由 1 至 5 个字符串组成的列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| is_fuzzy                            | 否     | Boolean | **参数解释** **：** 是否进行模糊查询。 **约束限制：** 只支持为true进行模糊查询。 **取值范围：** - true 表示模糊查询。  - false 表示精确匹配。   **默认取值** **：** true                                                                                                          |
   
#### 响应参数
表5响应Body参数 
| 参数             | 参数类型             | 描述                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| total           | Integer         | **参数解释** **：** 慢SQL总条数。 **取值范围：** 不涉及。 |
| slow_sql_infos | Array of objects | **参数解释** **：** 慢SQL列表。详情参见[表6]。                                                                               |
   
 表6SlowSqlListRes 
| 参数                 | 参数类型       | 描述                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| db_name             | String     | **参数解释** **：** 数据库名称。 **取值范围：** 不涉及。                              |
| schema_name           | String    | **参数解释** **：** SCHEMA名称。 **取值范围：** 不涉及。                                 |
| sql_id           | String  | **参数解释** **：** SQL ID。 **取值范围：** 不涉及。                               |
| user_name         | String    | **参数解释** **：** 用户名称。 **取值范围：** 不涉及。                                    |
| node_id             | String | **参数解释** **：** 节点ID。 **取值范围：** 不涉及。                                    |
| node_name          | String   | **参数解释** **：** 节点名称。 **取值范围：** 不涉及。                                 |
| sql_text           | String   | **参数解释** **：** SQL模板。 **取值范围：** 不涉及。                               |
| sql               | String | **参数解释** **：** 变量替换后的完整SQL。当sql_text不返回变量值时，sql返回空字符串。 **取值范围：** 不涉及。 |
| query_plan         | String  | **参数解释** **：** 执行计划。 **取值范围：** 不涉及。                                                                                             |
| calls              | Integer | **参数解释** **：** 执行次数。 **取值范围：** 不涉及。                                        |
| avg_exec_time      | String   | **参数解释** **：** 平均耗时（单位：秒）。 **取值范围：** 不涉及。                           |
| avg_cpu_time      | String   | **参数解释** **：** CPU耗时（单位：秒）。 **取值范围：** 不涉及。                         |
| avg_io_time        | String | **参数解释** **：** IO耗时（单位：秒）。 **取值范围：** 不涉及。                               |
| avg_returned_rows | Integer   | **参数解释** **：** 返回行。 **取值范围：** 不涉及。                                     |
| avg_fetched_rows | Integer  | **参数解释** **：** 扫描行。 **取值范围：** 不涉及。                                     |
| buffer_hit_ratio    | String    | **参数解释** **：** buffer块命中率。 **取值范围：** 不涉及。                             |
| sql_hit_ratio      | String  | **参数解释** **：** SQL命中率。 **取值范围：** 不涉及。                                 |
   
#### 请求示例
查询慢SQL列表。
```
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/slow-sql-list
{ 
  "instance_id" : "d04686c6baae4f65a742771186f47b7ain14", 
  "node_ids" : [ "88391813e1cb4e93899b210e880fdb1bno20" ], 
  "start_time" : 1686903754933, 
  "end_time" : 1686990154933, 
  "threshold" : 1,
  "multi_queries": [ { "name": "query", "condition": "AND", "is_fuzzy": true, "values": [ "select", "from table" ] } ]
}
```
#### 响应示例
查询慢SQL列表成功。
```
{
   "slow_sql_infos" : [ {
     "db_name": "db_tpcc",
     "schema_name": "db_tpcc",
     "sql_id" : "6789",
     "user_name" : "john_doe",
     "sql_text" : "SELECT * FROM large_table WHERE column1 = 'value';",
     "sql" : "",
     "query_plan" : "Seq Scan on large_table ...",
     "calls" : 5,
     "avg_exec_time" : "17.4015",
     "avg_cpu_time" : "2.6380",
     "avg_io_time" : "0.0000",
     "avg_returned_rows" : 1000,
     "avg_fetched_rows" : 5000,
     "buffer_hit_ratio" : "0.8",
     "sql_hit_ratio" : "0.005",
     "node_id" : "88391813e1cb4e93899b210e880fdb1bno20",
     "node_name" : "Node1"
        } ],
   "total" : 1
}
```
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
