1. API Description
Domain name for API request: dbbrain.intl.tencentcloudapi.com.
This API is used to obtain SQL statement optimization suggestions.
A maximum of 20 requests can be initiated per second for this API.
We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.
The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
| Parameter Name |
Required |
Type |
Description |
| Action |
Yes |
String |
Common Params. The value used for this API: DescribeUserSqlAdvice. |
| Version |
Yes |
String |
Common Params. The value used for this API: 2019-10-16. |
| Region |
Yes |
String |
Common Params. For more information, please see the list of regions supported by the product. |
| InstanceId |
Yes |
String |
Instance ID. |
| SqlText |
Yes |
String |
SQL statement. |
| Schema |
No |
String |
Database name. |
3. Output Parameters
| Parameter Name |
Type |
Description |
| Advices |
String |
SQL statement optimization suggestions, which can be parsed into JSON arrays. |
| Comments |
String |
Notes of SQL statement optimization suggestions, which can be parsed into String arrays. |
| SqlText |
String |
SQL statement. |
| Schema |
String |
Database name. |
| Tables |
String |
DDL information of related tables, which can be parsed into JSON arrays. |
| SqlPlan |
String |
SQL execution plan, which can be parsed into JSON. |
| Cost |
String |
Cost saving details after SQL statement optimization, which can be parsed into JSON. |
| RequestId |
String |
The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
4. Example
Example1 Obtaining SQL statement optimization suggestions
https:
&InstanceId=cdb-c1nl9rpv
&SqlText=select * from t1 where id in ( ? )
&<common request parameters>
Output Example
{
"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}"
}
}
Example2 Obtaining a suggestion that there is no need to optimize SQL statements
https:
&InstanceId=cdb-c1nl9rpv
&SqlText=select * from t1 where id = ?
&<common request parameters>
Output Example
{
"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. Developer Resources
SDK
TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.
Command Line Interface
6. Error Code
The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.
| Error Code |
Description |
| AuthFailure |
Error with CAM signature/authentication. |
| InternalError |
Internal error. |
| InvalidParameter |
Incorrect parameter. |
| InvalidParameterValue |
Incorrect parameter value. |
| MissingParameter |
Missing parameter. |
| OperationDenied |
Operation denied. |
| OperationDenied.UserHasNoStrategy |
Error with CAM authentication. |