Queries optimization suggestions that are generated by the SQL diagnostics feature of Database Autonomy Service (DAS).

The SQL diagnostics feature provides optimization suggestions for instances based on diagnosis results. You can use the optimization suggestions to optimize instance indexes. For more information, see Automatic SQL optimization.

Before you call this operation, make sure that the following requirements are met:

  • This operation can be used only for ApsaraDB RDS for MySQL instances and instances of the ApsaraDB PolarDB MySQL-compatible edition.
  • If you use an Alibaba Cloud SDK, make sure that the aliyun-sdk-core version is V4.3.3 or later. We recommend that you use the latest version.
  • The version of DAS SDK must be 1.0.8 or later.
  • If you use an SDK to call the DAS service, you must set the region to cn-shanghai.

Request parameters

Parameter Type Required Example Description
Action String Yes GetSqlOptimizeAdvice

The operation that you want to perform. Set the value to GetSqlOptimizeAdvice.

ConsoleContext String No None

A hidden parameter.

Engine String No MySQL

The database engine. Valid values:

  • MySQL: ApsaraDB RDS for MySQL
  • PolarDBMySQL: the ApsaraDB PolarDB MySQL-compatible edition
InstanceIds String No rm-2ze1jdv45i7l6****

The ID of the instance. You can call the GetInstanceInspections operation to query the instance ID.

Note The instance must be an ApsaraDB RDS for MySQL instance or an instance of the ApsaraDB PolarDB MySQL-compatible edition.
StartDt String No 20210916

The start of the date range during which SQL suggestions are generated. Specify the date in the yyyyMMdd format. The time must be in UTC.

Note If you do not configure this parameter, the system starts to generate SQL suggestions on the previous day of the current date.
EndDt String No 20210917

The end of the date range during which SQL suggestions are generated. Specify the date in the yyyyMMdd format. The time must be in UTC.

Note If you do not specify this parameter, the system stops generating SQL suggestions on the previous day of the current date. The end date cannot be more than 30 days later than the start date.

Response parameters

Parameter Type Example Description
Code String 200

The returned status code.

Message String Successful

The message returned for the request.

Note If the request is successful, Successful is returned. If the request fails, an error message that includes an error code is returned.
Data Object

The detailed information such as the HTTP status code and the number of returned entries.

Status String FINISH

The status of the task. Valid values:

  • INIT: The task is being initialized.
  • RUNNING: The task is running.
  • FINISH: The task is completed.
  • FAILED: The task failed.
StatusCode String SUCCESS

The status code of the task. Valid values:

  • NO_DATA: No data is returned.
  • INTERNAL_ERROR: An internal error occurred.
  • SUCCESS: The task is successful.
DownloadUrl String https://das-sql-optimize.oss-cn-shanghai.aliyuncs.com/adb/oss_sql_optimize_advice/1083*******

The URL used to download the file.

CreateTime String 1632303861000

The time when the task was created. This value is a UNIX timestamp. Unit: milliseconds.

ExpireTime String 1632563061000

The time when the file expires. This value is a UNIX timestamp. Unit: milliseconds.

Note The file expires three days after the file is created.
TaskId String 2021091710461519216****

The ID of the task.

RequestId String B6D17591-B48B-4D31-9CD6-9B9796B2****

The ID of the request.

Success String true

Indicates whether the request is successful. Valid values:

  • true: The request is successful.
  • false: The request failed.

Examples

Sample requests

http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetSqlOptimizeAdvice
&ConsoleContext=None
&Engine=MySQL
&InstanceIds=rm-2ze1jdv45i7l6****
&StartDt=20210916
&EndDt=20210917
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<GetSqlOptimizeAdviceResponse>
    <Code>200</Code>
    <Message>Successful</Message>
    <Data>
        <Status>FINISH</Status>
        <StatusCode>SUCCESS</StatusCode>
        <DownloadUrl>https://das-sql-optimize.oss-cn-shanghai.aliyuncs.com/adb/oss_sql_optimize_advice/1083*******</DownloadUrl>
        <CreateTime>1632303861000</CreateTime>
        <ExpireTime>1632563061000</ExpireTime>
        <TaskId>2021091710461519216****</TaskId>
    </Data>
    <RequestId>B6D17591-B48B-4D31-9CD6-9B9796B2****</RequestId>
    <Success>true</Success>
</GetSqlOptimizeAdviceResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Code" : "200",
  "Message" : "Successful",
  "Data" : {
    "Status" : "FINISH",
    "StatusCode" : "SUCCESS",
    "DownloadUrl" : "https://das-sql-optimize.oss-cn-shanghai.aliyuncs.com/adb/oss_sql_optimize_advice/1083*******",
    "CreateTime" : "1632303861000",
    "ExpireTime" : "1632563061000",
    "TaskId" : "2021091710461519216****"
  },
  "RequestId" : "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success" : "true"
}

Error codes

HttpCode Error code Error message Description
400 InvalidParams The request parameters are invalid. The error message returned because the specified request parameters are invalid.

For a list of error codes, visit the API Error Center.