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
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.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
hdm:GetQueryOptimizeDataStats | get |
|
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
Engine | string | Yes | The database engine. Valid values:
| MySQL |
InstanceIds | string | No | The instance IDs. Separate multiple IDs with commas (,). | rm-2ze8g2am97624**** |
TagNames | string | No | The reserved parameter. | None |
Keywords | string | No | The keywords of the SQL template. Separate multiple keywords with spaces. | select update |
LogicalOperator | string | No | The logical relationship between multiple keywords. Valid values:
| or |
Rules | string | No | The tags that are used to filter SQL templates. Separate multiple tags with commas (,). For more information, see Query governance. | DAS_NOT_IMPORTANT |
DbNames | string | No | The name of the database to be queried. | testdb01 |
Time | string | Yes | The time range to query. Specify the time in the UNIX timestamp format. Unit: milliseconds. | 1642953600000 |
PageSize | string | No | The number of entries per page. Default value: 10. | 10 |
PageNo | string | No | The page number. Pages start from page 1. Default value: 1. | 1 |
OrderBy | string | No | The field by which to sort the returned entries. Default value: count. Valid values:
| count |
Asc | string | No | Specifies whether to sort the returned entries in ascending order. Default value: true. Valid values:
| true |
OnlyOptimizedSql | string | No | Specifies whether to query only SQL templates that need to be optimized. Default value: false. Valid values:
| false |
SqlIds | string | No | The SQL template ID. You can query the ID of a template by calling the GetQueryOptimizeExecErrorStats operation. | 2e8147b5ca2dfc640dfd5e43d96a**** |
Region | string | No | The region in which the instance resides. Valid values:
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 |
User | string | No | The account of the database to be queried. | testUser |
Response parameters
Examples
Sample success responses
JSON
format
{
"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 code | Error code | Error message |
---|---|---|
400 | InvalidParams | The request parameters are invalid. |
403 | NoPermission | You are not authorized to do this action. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-04-04 | The response structure of the API has changed | View Change Details |
2023-03-29 | The request parameters of the API has changed | View Change Details |