1. 接口描述
接口请求域名: dbbrain.tencentcloudapi.com 。
获取SQL优化建议。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:DescribeUserSqlAdvice。 |
Version | 是 | String | 公共参数,本接口取值:2019-10-16。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
InstanceId | 是 | String | 实例ID。 示例值:cdb-c1nl9rpv |
SqlText | 是 | String | SQL语句。 示例值:select * from t1 |
Schema | 否 | String | 库名。 示例值:test |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Advices | String | SQL优化建议,可解析为JSON数组。 示例值:PossibleKeys |
Comments | String | SQL优化建议备注,可解析为String数组。 示例值:SQL解析不通过 |
SqlText | String | SQL语句。 示例值:select * from t1 |
Schema | String | 库名。 示例值:test |
Tables | String | 相关表的DDL信息,可解析为JSON数组。 示例值:TableDDL |
SqlPlan | String | SQL执行计划,可解析为JSON。 示例值:Before |
Cost | String | SQL优化后的成本节约详情,可解析为JSON。 示例值:After |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 获取SQL优化建议
获取SQL优化建议。
输入示例
https://dbbrain.tencentcloudapi.com/?Action=DescribeUserSqlAdvice
&InstanceId=cdb-c1nl9rpv
&SqlText=select * from t1 where id in ( ? )
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "e2a51350-8c9f-11eb-bc0f-c9f5ab88d057",
"Advices": "[{\"TableName\": \"t1\", \"TableSchema\": \"test\", \"Keys\": [{\"SqlText\": \"alter table `test`.`t1` add index index_0(`id`);\"}]}]",
"Comments": "[]",
"Schema": "test",
"Tables": "[{\"TableName\": \"t1\", \"TableSchema\": \"test\", \"TableDDL\": \"CREATE TABLE `test` (\n `id` varchar(36) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC\"}]",
"SqlText": "select * from t1 where id in ( ? )",
"SqlPlan": "{\"Before\": [{\"Format\": \"Table\", \"Data\": {\"Names\": [\"id\", \"select_type\", \"table\", \"partitions\", \"type\", \"possible_keys\", \"key\", \"key_len\", \"ref\", \"rows\", \"filtered\", \"Extra\"], \"Data\": [ [1, \"SIMPLE\", \"t1\", null, \"ALL\", null, null, null, null, 1530, 10, \"Using where\" ]]}}], \"After\": [{ \"Format\": \"Table\", \"Data\": {\"Names\": [\"id\", \"select_type\", \"table\", \"partitions\", \"type\", \"possible_keys\", \"key\", \"key_len\", \"ref\", \"rows\", \"filtered\", \"Extra\"], \"Data\": [[1, \"SIMPLE\", \"t1\", null, \"ref\", \"index_0\", \"index_0\", 1056, \"const\", 51, 100.00, null]]}}]}",
"Cost": "{\"Before\": 0.1, \"After\": 0.03, \"Ratio\": 90.61}"
}
}
示例2 获取无需优化SQL的优化建议
获取无需优化SQL的优化建议。
输入示例
https://dbbrain.tencentcloudapi.com/?Action=DescribeUserSqlAdvice
&InstanceId=cdb-c1nl9rpv
&SqlText=select * from t1 where id = ?
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "e2a51350-8c9f-11eb-bc0f-c9f5ab88d057",
"Advices": "",
"Comments": "",
"Schema": "test",
"Tables": "[{\"TableName\": \"t1\", \"TableSchema\": \"test\", \"TableDDL\": \"CREATE TABLE `test` (\n `id` varchar(36) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC\"}]",
"SqlText": "select * from t1 where id in ( ? )",
"SqlPlan": "",
"Cost": ""
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
AuthFailure | CAM签名/鉴权错误。 |
InternalError | 内部错误。 |
InvalidParameter | 参数错误。 |
InvalidParameterValue | 参数取值错误。 |
MissingParameter | 缺少参数错误。 |
OperationDenied | 操作被拒绝。 |
OperationDenied.UserHasNoStrategy | CAM鉴权错误。 |