
# 查询SQL模板对比列表 - QuerySqlTplCmpList
#### 功能介绍
查询SQL模板对比列表。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-das/das_01_0130.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名                      | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | das:clouddba:listTopSql | list | instance    | -   | das:clouddba:topSqlList | -      |
     
  
 
#### URI
POST /v3/{project_id}/fullsql/query-sql-tpl-cmp-list
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-das/das_01_0036.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| instance_id     | 是    | String           | **参数解释：** 实例ID，实例的唯一标识。可通过查看实例列表或者实例详情获取实例ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                 |
| compare_type    | 否    | String           | **参数解释：** 对比类型。 **约束限制：** 不涉及。 **取值范围：** - time：时间段对比  - node: 节点对比   **默认取值：** time。                                                                                                                                                                                                                                                     |
| node_id         | 否    | String           | **参数解释：** 节点ID，实例节点的唯一标识。可通过查看实例详情节点列表获取节点ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                              |
| node_id1        | 否    | String           | **参数解释：** 节点对比方1 ID，node模式必选，实例节点的唯一标识。可通过查看实例详情节点列表获取节点ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| node_id2        | 否    | String           | **参数解释：** 节点对比方2 ID，node模式必选，实例节点的唯一标识。可通过查看实例详情节点列表获取节点ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                        |
| start_at1       | 是    | Long             | **参数解释：** 对比日期1开始时间，单位毫秒。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                      |
| end_at1         | 是    | Long             | **参数解释：** 对比日期1结束时间，单位毫秒。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                               |
| start_at2       | 是    | Long             | **参数解释：** 对比日期2开始时间，单位毫秒。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                     |
| end_at2         | 是    | Long             | **参数解释：** 对比日期2结束时间，单位毫秒。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                               |
| operation       | 否    | String           | **参数解释：** 操作类型。 **约束限制：** 可组合，用逗号分隔。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                          |
| db_name_list    | 否    | Array of Strings | **参数解释：** 数据库名称列表。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| keyword         | 否    | String           | **参数解释：** 关键字，模糊搜索。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                    |
| sql_template_id | 否    | String           | **参数解释：** SQL模板ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                      |
| sort            | 否    | String           | **参数解释：** 排序字段。 **约束限制：** 不涉及。 **取值范围：** - executeNum：执行次数  - totalCost：总耗时  - avgCost：平均耗时  - totalScan：总扫描行数  - avgScan：平均扫描行数   **默认取值：** 不涉及。 |
| asc             | 否    | Boolean          | **参数解释：** 排序顺序。 **约束限制：** 不涉及。 **取值范围：** - true：正序  - false：倒序   **默认取值：** 不涉及。                                                                                                                                                                                                                                                     |
| size            | 否    | Integer          | **参数解释：** 单次查询数量。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 30                                                                                                                                                                                                                                                                                                                                                                                                           |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数                   | 参数类型                                                    | 描述                                                                                                                      |
|:---|:---|:---|
| sql_tpl_cmp_dto_list | Arrays of [表4] Objects | **参数解释：** SQL模板对比列表。 **取值范围：** 不涉及。 |
   
 表4SQLTplCmp 
| 参数                    | 参数类型                                          | 描述                                                                                                                               |
|:---|:---|:---|
| sql_tpl_dto1          | [表5] Object | **参数解释：** 日期1 SQL模板列表。 **取值范围：** 不涉及。 |
| sql_tpl_dto2          | [表5] Object | **参数解释：** 日期2 SQL模板列表。 **取值范围：** 不涉及。   |
| new                   | Boolean                                       | **参数解释：** 是否为新增数据。 **取值范围：** 不涉及。       |
| execute_time_increase | Boolean                                       | **参数解释：** 是否有执行时间增长。 **取值范围：** 不涉及。   |
| lock_wait_increase    | Boolean                                       | **参数解释：** 是否有锁等待时间增长。 **取值范围：** 不涉及。   |
   
 表5tpl 
| 参数                   | 参数类型              | 描述                                                                                                                              |
|:---|:---|:---|
| template_id          | String            | **参数解释：** SQL模板ID。 **取值范围：** 不涉及。     |
| sql_template         | String            | **参数解释：** SQL模板。 **取值范围：** 不涉及。    |
| sql_sample_string    | String            | **参数解释：** SQL样例。 **取值范围：** 不涉及。       |
| db_names             | Arrays of Strings | **参数解释：** 数据库列表。 **取值范围：** 不涉及。               |
| db_name              | String            | **参数解释：** 数据库名称。 **取值范围：** 不涉及。          |
| sql_type             | String            | **参数解释：** SQL类型。 **取值范围：** 不涉及。       |
| execute_num          | Long              | **参数解释：** 执行次数。 **取值范围：** 不涉及。        |
| total_cost           | Double            | **参数解释：** 总执行耗时 ms。 **取值范围：** 不涉及。      |
| avg_cost             | Double            | **参数解释：** 平均执行耗时 ms。 **取值范围：** 不涉及。          |
| max_cost             | Double            | **参数解释：** 最大执行耗时 ms。 **取值范围：** 不涉及。      |
| avg_rows_sent        | Double            | **参数解释：** 平均返回行数。 **取值范围：** 不涉及。       |
| max_rows_sent        | Double            | **参数解释：** 最大返回行数。 **取值范围：** 不涉及。   |
| avg_rows_affected    | Double            | **参数解释：** 平均影响行数。 **取值范围：** 不涉及。        |
| max_rows_affected    | Double            | **参数解释：** 最大影响行数。 **取值范围：** 不涉及。        |
| avg_lock_time        | Double            | **参数解释：** 平均锁等待时间。 **取值范围：** 不涉及。    |
| max_lock_time        | Double            | **参数解释：** 最大锁等待时间。 **取值范围：** 不涉及。 |
| total_rows_examined  | Double            | **参数解释：** 总扫描行数。 **取值范围：** 不涉及。     |
| avg_rows_examined    | Double            | **参数解释：** 平均扫描行数。 **取值范围：** 不涉及。            |
| max_rows_examined    | Double            | **参数解释：** 最大扫描行数。 **取值范围：** 不涉及。          |
| total_cost_ratio     | String            | **参数解释：** 执行耗时占比。 **取值范围：** 不涉及。         |
| total_examined_ratio | String            | **参数解释：** 扫描行数占比。 **取值范围：** 不涉及。        |
| execute_num_ratio    | String            | **参数解释：** 执行次数占比。 **取值范围：** 不涉及。        |
   
#### 请求示例
```
POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/fullsql/query-sql-tpl-cmp-list
 
{
  "start_at1": 1764149096000,
  "end_at1": 1764152696000,
  "start_at2": 1764235496000,
  "end_at2": 1764239096000,
  "sort": "avgCost",
  "asc": false,
  "instance_id": "bcfa975193f1402fa11a6d4fd6baf5fbin01",
  "operation": "",
  "db_name_list": [],
  "keyword": "",
  "size": 50
}
```
#### 响应示例
**状态码： 200**
Success.
```
{
    "sql_tpl_cmp_dto_list": [
        {
            "execute_time_increase": false,
            "lock_wait_increase": false,
            "sql_tpl_dto1": null,
            "sql_tpl_dto2": {
                "template_id": "49C5B3D3D29FE1AA",
                "sql_template": "SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME\nFROM information_schema.schemata\nORDER BY SCHEMA_NAME\nLIMIT ?",
                "sql_sample_string": "/* sql from das */select SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME from information_schema.schemata order by SCHEMA_NAME limit 1000",
                "db_names": [],
                "sql_type": "select",
                "db_name": "",
                "execute_num": 2,
                "total_cost": 27.0,
                "avg_cost": 13.5,
                "max_cost": 15.0,
                "avg_rows_sent": 83.0,
                "max_rows_sent": 83.0,
                "avg_rows_affected": 0.0,
                "max_rows_affected": 0.0,
                "avg_lock_time": 0.0,
                "max_lock_time": 0.0,
                "total_rows_examined": 332.0,
                "avg_rows_examined": 166.0,
                "max_rows_examined": 166.0,
                "total_cost_ratio": "31.76%",
                "total_examined_ratio": "18.53%",
                "execute_num_ratio": "1.60%"
            },
            "new": true
        }
    ]
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-das/das_01_0035.html)。
