
# 导出TopSQL模板列表 - ExportTheTopSQLTemplateList
#### 功能介绍
- TopSQL开关打开后，导出TopSQL模板列表。
- 该功能仅支持付费实例。
- 查询时间间隔最长一小时。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DAS&api=ExportTopSqlTemplatesDetails)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-das/das_01_0130.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名                      | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | das:clouddba:listTopSql | list | instance    | -   | das:clouddba:topSqlList | -      |
     
  
 
#### URI
GET /v3/{project_id}/instances/{instance_id}/top-sql-templates
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-das/das_01_0036.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值：** 不涉及。 |
| instance_id | 是    | String | **参数解释：** 实例ID，实例的唯一标识。可通过查看实例列表或者实例详情获取实例ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                 |
   
表2Query参数 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| start_at        | 是    | Long    | **参数解释：** 开始时间。 **约束限制：** Unix timestamp，单位：毫秒。 **取值范围：** \[0, 2\^63-1\]，实际取决于查询。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                      |
| end_at          | 是    | Long    | **参数解释：** 结束时间。 **约束限制：** Unix timestamp，单位：毫秒。 **取值范围：** \[0, 2\^63-1\]，实际取决于查询。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                    |
| datastore_type  | 是    | String  | **参数解释：** 数据库类型。 **约束限制：** 不涉及。 **取值范围：** - MySQL  - TaurusDB   **默认取值：** 不涉及。                                                                                                                                                                                                             |
| node_id         | 否    | String  | **参数解释：** 节点ID，实例节点的唯一标识。可通过查看实例详情节点列表获取节点ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                |
| sort            | 否    | String  | **参数解释：** 排序字段。 **约束限制：** 不涉及。 **取值范围：** - executeNum：执行次数  - totalCost：总耗时  - avgCost：平均耗时  - totalScan：总扫描行数  - avgScan：平均扫描行数   **默认取值：** 不涉及。 |
| asc             | 否    | Boolean | **参数解释：** 排序顺序。 **约束限制：** 不涉及。 **取值范围：** - true：正序  - false：逆序   **默认取值：** - false                                                                                                                              |
| offset          | 否    | Integer | **参数解释：** 索引位置，偏移量。从第一条数据偏移offset条数据后开始查询。例如：该参数指定为1，limit指定为10，则只展示第2\~11条数据。 **约束限制：** 不涉及。 **取值范围**： \[0, 2\^31-1\] **默认取值：** 默认为0（偏移0条数据，表示从第一条数据开始查询）。                                                                                                                                                                                                                                                        |
| limit           | 否    | Integer | **参数解释：** 查询记录数。例如该参数设定为10，则查询结果最多只显示10条记录。 **约束限制：** 不涉及。 **取值范围：** \[1, 100\] **默认取值：** 默认为20。                                                                                                                                                                                                                                                                                                                     |
| sql_template_id | 否    | String  | **参数解释：** SQL模板ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                             |
| db_name_list    | 否    | String  | **参数解释：** 数据库名称列表。传多值时以逗号分隔。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                              |
   
#### 请求参数
无。
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数                | 参数类型                                                                                                  | 描述                                                                                                                                          |
|:---|:---|:---|
| top_sql_templates | Array of [TopSqlTemplate] objects | **参数解释：** SQL模板列表。                                                                                             |
| total_count       | Integer                                                                                               | **参数解释：** SQL模板总数。 **取值范围：** \[0, 2\^31-1\]，实际取决于查询。 |
   
 表4TopSqlTemplate 
| 参数                   | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| sql_template         | String | **参数解释：** SQL模板ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| sql_sample_string    | String | **参数解释：** SQL样本。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| sql_type             | String | **参数解释：** SQL操作类型。 **取值范围：** - insert：插入  - delete：删除  - update：更新  - select：查询  - show：显示  - create：创建  - drop：丢弃/删除  - alter：修改  - set：设置  - replace：替换  - use：使用  - start：开始事务  - commit：提交事务  - rollback：回滚事务  - truncate：截断  - begin：开始事务  - call：调用存储过程   |
| db_name              | String | **参数解释：** 数据库名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| execute_num          | Long   | **参数解释：** 总执行次数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| total_cost           | Double | **参数解释：** 总耗时(ms)。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| avg_cost             | Double | **参数解释：** 平均耗时(ms)。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| avg_rows_sent        | Double | **参数解释：** 平均返回行数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| avg_rows_affected    | Double | **参数解释：** 平均影响行数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| avg_lock_time        | Double | **参数解释：** 平均锁等待耗时(ms)。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| total_rows_examined  | Double | **参数解释：** 总扫描行数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| avg_rows_examined    | Double | **参数解释：** 平均扫描行数。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| total_cost_ratio     | String | **参数解释：** 总耗时占比。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| total_examined_ratio | String | **参数解释：** 扫描行数占比。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| execute_num_ratio    | String | **参数解释：** 执行次数占比。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
#### 请求示例
导出TopSQL模板列表。
```
GET https://das.cn-north-1.myhuaweicloud.com/v3/054c630ff780d4cc2f40c00d7f6fb21d/instances/6243b3fcf2f948578d46ed4c52fb54eein01/top-sql-templates?start_at=1611975464337&end_at=1611979064337&node_id=fec05693c76c4f389561051db430324cno01&sort=avgCost&asc=true&datastore_type=MySQL&offset=0&limit=10
```
#### 响应示例
**状态码： 200**
Success.
```
{
  "top_sql_templates" : [ {
    "db_name" : "db_01",
    "execute_num" : 30,
    "avg_rows_examined" : 0,
    "total_cost_ratio" : "100.00%",
    "avg_lock_time" : 0,
    "sql_template" : "SELECT sleep(?)",
    "avg_rows_affected" : 0,
    "avg_rows_sent" : 1,
    "avg_cost" : 5000.266666666666,
    "execute_num_ratio" : "23.81%",
    "total_examined_ratio" : "-",
    "sql_type" : "select",
    "total_cost" : 150008,
    "total_rows_examined" : 0,
    "sql_sample_string" : "select sleep(5)"
  } ],
  "total_count" : 1
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-das/das_01_0035.html)。
