tencent cloud

文档反馈

DescribeUserSqlAdvice

最后更新时间:2023-10-17 10:51:53

    1. API Description

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

    This API is used to get SQL statement optimization suggestions. It is free of charge for a limited time and will be charged after DBbrain is commercialized.

    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.

    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: 2021-05-27.
    Region No String Common Params. This parameter is not required for this API.
    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 Obtaining 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 Obtaining 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.