All Products
Search
Document Center

Database Autonomy Service:GetQueryOptimizeDataStats

Last Updated:Mar 22, 2024

Queries information about SQL templates based on query governance data.

Operation description

  • If you use an Alibaba Cloud SDK, make sure that the aliyun-sdk-core version is later than V2.1.8. We recommend that you use the latest version.

  • The version of your Database Autonomy Service (DAS) SDK must be V2.1.8 or later.

  • If you use an SDK to call API operations of DAS, you must set the region ID to cn-shanghai.

  • This operation supports the following database engines:

    • ApsaraDB RDS for MySQL
    • PolarDB for MySQL
    • ApsaraDB RDS for PostgreSQL

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:GetQueryOptimizeDataStatsRead
  • All Resources
    *
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
EnginestringYes

The database engine. Valid values:

  • MySQL
  • PolarDBMySQL
  • PostgreSQL
MySQL
InstanceIdsstringNo

The instance IDs. Separate multiple IDs with commas (,).

rm-2ze8g2am97624****
TagNamesstringNo

The reserved parameter.

None
KeywordsstringNo

The keywords of the SQL template. Separate multiple keywords with spaces.

select update
LogicalOperatorstringNo

The logical relationship between multiple keywords. Valid values:

  • or
  • and
or
RulesstringNo

The tags that are used to filter SQL templates. Separate multiple tags with commas (,). For more information, see Query governance.

DAS_NOT_IMPORTANT
DbNamesstringNo

The name of the database to be queried.

testdb01
TimestringYes

The time range to query. Specify the time in the UNIX timestamp format. Unit: milliseconds.

1642953600000
PageSizestringNo

The number of entries per page. Default value: 10.

10
PageNostringNo

The page number. Pages start from page 1. Default value: 1.

1
OrderBystringNo

The field by which to sort the returned entries. Default value: count. Valid values:

  • count: the number of executions.
  • maxQueryTime: the longest execution time.
  • avgQueryTime: the average execution time.
  • maxLockTime: the longest lock wait time.
  • avgLockTime: the longest lock wait time.
  • maxRowsExamined: the largest number of scanned rows.
  • avgRowsExamined: the average number of scanned rows.
  • maxRowsSent: the largest number of returned rows.
  • avgRowsSent: the average number of returned rows.
count
AscstringNo

Specifies whether to sort the returned entries in ascending order. Default value: true. Valid values:

  • true: sorts the returned entries in ascending order.
  • false: does not sort the returned entries in ascending order.
true
OnlyOptimizedSqlstringNo

Specifies whether to query only SQL templates that need to be optimized. Default value: false. Valid values:

  • true: queries only SQL templates that need to be optimized.
  • false: does not query only SQL statements that need to be optimized.
false
SqlIdsstringNo

The SQL template ID. You can query the ID of a template by calling the GetQueryOptimizeExecErrorStats operation.

2e8147b5ca2dfc640dfd5e43d96a****
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 set 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 Set this parameter to cn-china for the instances that are created in the regions in the Chinese mainland.
cn-china
UserstringNo

The account of the database to be queried.

testUser

Response parameters

ParameterTypeDescriptionExample
object
Codestring

The HTTP status code returned.

200
Messagestring

The returned message.

Successful
Dataobject

The data returned.

Totallong

The total number of entries returned.

10
PageNointeger

The reserved parameter.

None
PageSizeinteger

The reserved parameter.

None
Extrastring

The reserved parameter.

None
Listobject []

The information about the SQL templates.

InstanceIdstring

The instance ID.

rm-2ze8g2am97624****
Dbnamestring

The name of the database to which the SQL template belongs.

testdb01
SqlIdstring

The SQL template ID.

2e8147b5ca2dfc640dfd5e43d96a****
SqlTypestring

The type of the SQL statement.

INSERT
Psqlstring

The SQL template.

select 1
SqlSamplestring

The sample query that took the longest time to execute.

select 2
Countinteger

The number of times that the SQL template is executed.

100
MaxQueryTimedouble

The longest query execution time. Unit: seconds.

1.1
AvgQueryTimedouble

The average query execution time. Unit: seconds.

1.1
MaxLockTimedouble

The longest lock wait time. Unit: seconds.

0.1
AvgLockTimedouble

The average lock wait time. Unit: seconds.

0.1
MaxRowsExaminedlong

The largest number of scanned rows.

100000
AvgRowsExamineddouble

The average number of scanned rows.

100.1
MaxRowsSentlong

The largest number of returned rows.

10000
AvgRowsSentdouble

The average number of returned rows.

100.1
MaxRowsAffectedlong

The largest number of rows affected by the SQL template.

Note A value of -1 indicates that this parameter is not collected.
10000
AvgRowsAffecteddouble

The average number of rows affected by the SQL statement.

Note A value of -1 indicates that this parameter is not collected.
100.1
RuleListobject []

The information about the rules.

Namestring

The rule name.

DAS_NOT_IMPORTANT
Typestring

The type of the rule. Valid values:

  • Predefined
  • UserDefined
Predefined
Userstring

The account of the database.

testUser
RequestIdstring

The request ID.

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

Indicates whether the request was successful. Valid values:

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

Examples

Sample success responses

JSONformat

{
  "Code": "200",
  "Message": "Successful",
  "Data": {
    "Total": 10,
    "PageNo": 0,
    "PageSize": 0,
    "Extra": "None",
    "List": [
      {
        "InstanceId": "rm-2ze8g2am97624****",
        "Dbname": "testdb01",
        "SqlId": "2e8147b5ca2dfc640dfd5e43d96a****",
        "SqlType": "INSERT",
        "Psql": "select 1",
        "SqlSample": "select 2",
        "Count": 100,
        "MaxQueryTime": 1.1,
        "AvgQueryTime": 1.1,
        "MaxLockTime": 0.1,
        "AvgLockTime": 0.1,
        "MaxRowsExamined": 100000,
        "AvgRowsExamined": 100.1,
        "MaxRowsSent": 10000,
        "AvgRowsSent": 100.1,
        "MaxRowsAffected": 10000,
        "AvgRowsAffected": 100.1,
        "RuleList": [
          {
            "Name": "DAS_NOT_IMPORTANT",
            "Type": "Predefined"
          }
        ],
        "User": "testUser"
      }
    ]
  },
  "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-04-04The response structure of the API has changedsee changesets
Change itemChange content
Output ParametersThe response structure of the API has changed.
2023-03-29The request parameters of the API has changedsee changesets
Change itemChange content
Input ParametersThe request parameters of the API has changed.
    Added Input Parameters: Region
    Added Input Parameters: User