tencent cloud

Feedback

DescribeUserSqlAdvice

Last updated: 2022-03-16 11:23:29

1. API Description

Domain name for API request: dbbrain.tencentcloudapi.com.

This API is used to get 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.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
This document describes the parameters for Signature V1. It's recommended to use the V3 signature, which provides higher security. Note that for Signature V3, the common parameters need to be placed in the HTTP Header. See details.

Parameter Name Required Type Description
Action Yes String Common parameter. The value used for this API: DescribeUserSqlAdvice.
Version Yes String Common parameter. The value used for this API: 2021-05-27.
Region Yes String Common parameter. 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.
Product No String Service type. Valid values: mysql (TencentDB for MySQL), cynosdb (TDSQL-C for MySQL), dbbrain-mysql (self-built MySQL). Default value: mysql.

3. Output Parameters

Parameter Name Type Description
Advices String SQL statement optimization suggestions, which can be parsed into JSON arrays. If there is no need for optimization, the output will be empty.
Comments String Notes of SQL statement optimization suggestions, which can be parsed into String arrays. If there is no need for optimization, the output will be empty.
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 arrays. If there is no need for optimization, the output will be empty.
Cost String Cost saving details after SQL statement optimization, which can be parsed into JSON arrays. If there is no need for optimization, the output will be empty.
RequestId String The unique request ID, which is returned for each request. RequestId is required for locating a problem.

4. Example

Example1 Getting SQL statement optimization suggestions

Input Example

https://dbbrain.tencentcloudapi.com/?Action=DescribeUserSqlAdvice
&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 Getting a suggestion that there is no need to optimize SQL statements

Input Example

https://dbbrain.tencentcloudapi.com/?Action=DescribeUserSqlAdvice
&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.
FailedOperation Operation failed.
InternalError Internal error.
InvalidParameter Incorrect parameter.
InvalidParameterValue Incorrect parameter value.
LimitExceeded The quota limit is exceeded.
MissingParameter Missing parameter.
OperationDenied Operation denied.
OperationDenied.UserHasNoStrategy Error with CAM authentication.
ResourceNotFound The resource does not exist.
UnauthorizedOperation The operation is unauthorized.
UnknownParameter Unknown parameter.
UnsupportedOperation Unsupported operation.
Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support