All Products
Search
Document Center

Database Autonomy Service:GetSqlOptimizeAdvice

Last Updated:Mar 22, 2024

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

Operation description

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

Note You can call this operation to query only the optimization suggestions that are automatically generated by the SQL diagnostics feature.

Before you call this operation, take note of the following items:

  • This operation is applicable to ApsaraDB RDS for MySQL instances and PolarDB for MySQL clusters.
  • If you use an Alibaba Cloud SDK or DAS SDK to call this operation, we recommend that you use the latest version of the SDK.
  • If you use an SDK to call operations of DAS, you must set the region ID to cn-shanghai.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
hdm:GetSqlOptimizeAdviceRead
  • All Resources
    *
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ConsoleContextstringNo

The reserved parameter.

None
EnginestringNo

The database engine. Valid values:

  • MySQL: ApsaraDB RDS for MySQL.
  • PolarDBMySQL: PolarDB for MySQL.
MySQL
InstanceIdsstringNo

The instance ID.

Note You must specify the instance ID only if your database instance is an ApsaraDB RDS for MySQL instance or a PolarDB for MySQL cluster.
rm-2ze1jdv45i7l6****
StartDtstringNo

The start date of the time range to query. Specify the date in the yyyyMMdd format. The time must be in UTC.

  • The default value of this parameter is one day before the current day.
  • The value must be earlier than the current day.
20210916
EndDtstringNo

The end date of the time range to query. Specify the date in the yyyyMMdd format. The time must be in UTC.

  • The default value of this parameter is one day before the current day.
  • The value must be earlier than the current day. The interval between the start date and the end date cannot exceed 30 days.
20210917
RegionstringNo

The region in which the instance resides. Valid values:

  • cn-china: Chinese mainland.
  • cn-hongkong: China (Hong Kong).
  • ap-southeast-1: Singapore.

This parameter takes effect only if InstanceIds is left empty. If you leave InstanceIds empty, the system obtains data from the region specified by Region. By default, Region is set to cn-china. If you specify InstanceIds, Region does not take effect, and the system obtains data from the region in which the first specified instance resides.****

Note If your instances reside in the regions inside the Chinese mainland, set this parameter to cn-china.
cn-china

Response parameters

ParameterTypeDescriptionExample
object
Codestring

The HTTP status code returned.

200
Messagestring

The returned message.

Note If the request was successful, Successful is returned. If the request failed, an error message such as an error code is returned.
Successful
Dataobject

The detailed information, including the error codes and the number of entries that are returned.

Statusstring

The status of the task. Valid values:

  • INIT: The task is being initialized.
  • RUNNING: The task is running.
  • FINISH: The task is complete.
  • FAILED: The task failed.
FINISH
StatusCodestring

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.
SUCCESS
DownloadUrlstring

The URL that is used to download the file.

https://das-sql-optimize.oss-cn-shanghai.aliyuncs.com/adb/oss_sql_optimize_advice/1083*******
CreateTimestring

The time when the task was created. The value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.

1632303861000
ExpireTimestring

The time when the file expires. The value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.

Note The file expires three days after the task is created.
1632563061000
TaskIdstring

The task ID.

2021091710461519216****
RequestIdstring

The request ID.

B6D17591-B48B-4D31-9CD6-9B9796B2****
Successstring

Indicates whether the request was successful. Valid values:

  • true
  • false
true

Examples

Sample success responses

JSONformat

{
  "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

HTTP status codeError codeError message
400InvalidParamsThe request parameters are invalid.
403NoPermissionYou are not authorized to do this action.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-03-29API Description Update. The request parameters of the API has changedsee changesets
Change itemChange content
API DescriptionAPI Description Update.
Input ParametersThe request parameters of the API has changed.
    Added Input Parameters: Region