Récupère les informations relatives aux modèles SQL à partir des données de gouvernance des requêtes.
Si vous utilisez un SDK Alibaba Cloud, assurez-vous que la version d'aliyun-sdk-core est supérieure à la V2.1.8. Nous vous recommandons d'utiliser la dernière version.
La version de votre SDK Database Autonomy Service (DAS) doit être la V2.1.8 ou une version ultérieure.
Si vous utilisez un SDK pour appeler les opérations API de DAS, définissez l'ID de région sur cn-shanghai.
-
Cette opération prend en charge les moteurs de base de données suivants :
ApsaraDB RDS for MySQL
PolarDB for MySQL
ApsaraDB RDS for PostgreSQL
Paramètres de requête
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | GetQueryOptimizeDataStats | L'opération à effectuer. Définissez la valeur sur GetQueryOptimizeDataStats. |
| Engine | String | Yes | MySQL | Le moteur de base de données. Valeurs valides :
|
| InstanceIds | String | No | rm-2ze8g2am97624**** | Les ID d'instance. Séparez plusieurs ID par des virgules (,). |
| TagNames | String | No | None | Paramètre réservé. |
| Keywords | String | No | select update | Les mots-clés des modèles SQL. Séparez plusieurs mots-clés par des espaces. |
| LogicalOperator | String | No | or | La relation logique entre plusieurs mots-clés. Valeurs valides :
|
| Rules | String | No | DAS_NOT_IMPORTANT | Les tags utilisés pour filtrer les modèles SQL. Séparez plusieurs tags par des virgules (,). Pour plus d'informations, consultez Gouvernance des requêtes. |
| DbNames | String | No | testdb01 | Le nom de la base de données à interroger. |
| Time | String | Yes | 1642953600000 | La plage de temps à interroger. Spécifiez l'heure au format horodatage UNIX. Unité : millisecondes. |
| PageSize | String | No | 10 | Le nombre maximal d'entrées à renvoyer par page. Valeur par défaut : 10. |
| PageNo | String | No | 1 | Le numéro de la page à renvoyer. Les pages commencent à la page 1. Valeur par défaut : 1. |
| OrderBy | String | No | count | Le champ de tri des entrées renvoyées. Valeur par défaut : count. Valeurs valides :
|
| Asc | String | No | true | Indique s'il faut trier les entrées renvoyées par ordre croissant. Valeur par défaut : true. Valeurs valides :
|
| OnlyOptimizedSql | String | No | false | Indique s'il faut interroger uniquement les modèles SQL nécessitant une optimisation. Valeur par défaut : false. Valeurs valides :
|
| SqlIds | String | No | 2e8147b5ca2dfc640dfd5e43d96a**** | L'ID du modèle SQL. Vous pouvez récupérer l'ID d'un modèle en appelant l'opération GetQueryOptimizeExecErrorStats. |
| Region | String | No | cn-china | La région dans laquelle réside l'instance. Valeurs valides :
Ce paramètre n'est effectif que si InstanceIds est laissé vide. Si vous laissez InstanceIds vide, le système récupère les données de la région définie par Region. Par défaut, Region est défini sur cn-china. Si vous spécifiez InstanceIds, Region n'est pas pris en compte et le système récupère les données de la région dans laquelle réside la première instance spécifiée. Remarque Si vos instances résident dans des régions situées en Chine continentale, définissez ce paramètre sur cn-china. |
| User | String | No | testUser | Le compte de la base de données à interroger. |
Paramètres de réponse
| Parameter | Type | Example | Description |
| Code | String | 200 | Le code d'état HTTP renvoyé. |
| Message | String | Successful | Le message renvoyé pour la requête. |
| Data | Object | Les détails des modèles SQL. | |
| Total | Long | 10 | Le nombre total d'entrées renvoyées. |
| PageNo | Integer | None | Paramètre réservé. |
| PageSize | Integer | None | Paramètre réservé. |
| Extra | String | None | Paramètre réservé. |
| List | Array of QueryOptimizeDataStats | Les informations sur les modèles SQL. | |
| InstanceId | String | rm-2ze8g2am97624**** | L'ID d'instance. |
| Dbname | String | testdb01 | Le nom de la base de données à laquelle appartient le modèle SQL. |
| SqlId | String | 2e8147b5ca2dfc640dfd5e43d96a**** | L'ID du modèle SQL. |
| SqlType | String | INSERT | Le type de l'instruction SQL. |
| Psql | String | select 1 | Le modèle SQL. |
| SqlSample | String | select 2 | L'exemple de requête ayant pris le plus de temps à s'exécuter. |
| Count | Integer | 100 | Le nombre d'exécutions du modèle SQL. |
| MaxQueryTime | double | 1.1 | Le temps d'exécution de requête le plus long. Unité : secondes. |
| AvgQueryTime | double | 1.1 | Le temps d'exécution de requête moyen. Unité : secondes. |
| MaxLockTime | double | 0.1 | Le temps d'attente de verrouillage le plus long. Unité : secondes. |
| AvgLockTime | double | 0.1 | Le temps d'attente de verrouillage moyen. Unité : secondes. |
| MaxRowsExamined | Long | 100000 | Le nombre maximal de lignes analysées. |
| AvgRowsExamined | double | 100.1 | Le nombre moyen de lignes analysées. |
| MaxRowsSent | Long | 10000 | Le nombre maximal de lignes renvoyées. |
| AvgRowsSent | double | 100.1 | Le nombre moyen de lignes renvoyées. |
| MaxRowsAffected | Long | 10000 | Le nombre maximal de lignes affectées par le modèle SQL. Remarque Si ce paramètre n'est pas collecté, la valeur -1 est renvoyée. |
| AvgRowsAffected | double | 100.1 | Le nombre moyen de lignes affectées par le modèle SQL. Remarque Si ce paramètre n'est pas collecté, la valeur -1 est renvoyée. |
| RuleList | Array of Rules | Les informations sur les tags. | |
| Name | String | DAS_NOT_IMPORTANT | Le nom du tag. Pour plus d'informations, consultez Gouvernance des requêtes. |
| Type | String | Predefined | Le type du tag. Valeurs valides :
|
| User | String | testUser | Le compte de la base de données. |
| RequestId | String | B6D17591-B48B-4D31-9CD6-9B9796B2**** | L'ID de la requête. |
| Success | String | true | Indique si la requête a abouti. Valeurs valides :
|
Exemples
Exemples de requêtes
http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetQueryOptimizeDataStats
&Engine=MySQL
&InstanceIds=rm-2ze8g2am97624****
&TagNames=None
&Keywords=select update
&LogicalOperator=or
&Rules=DAS_NOT_IMPORTANT
&DbNames=testdb01
&Time=1642953600000
&PageSize=10
&PageNo=1
&OrderBy=count
&Asc=true
&OnlyOptimizedSql=false
&SqlIds=2e8147b5ca2dfc640dfd5e43d96a****
&Region=cn-china
&User=testUser
&Common request parameters
Exemples de réponses réussies
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<GetQueryOptimizeDataStatsResponse>
<Code>200</Code>
<Message>Successful</Message>
<Data>
<Total>10</Total>
<Extra>None</Extra>
<List>
<InstanceId>rm-2ze8g2am97624****</InstanceId>
<Dbname>testdb01</Dbname>
<SqlId>2e8147b5ca2dfc640dfd5e43d96a****</SqlId>
<SqlType>INSERT</SqlType>
<Psql>select 1</Psql>
<SqlSample>select 2</SqlSample>
<Count>100</Count>
<MaxQueryTime>1.1</MaxQueryTime>
<AvgQueryTime>1.1</AvgQueryTime>
<MaxLockTime>0.1</MaxLockTime>
<AvgLockTime>0.1</AvgLockTime>
<MaxRowsExamined>100000</MaxRowsExamined>
<AvgRowsExamined>100.1</AvgRowsExamined>
<MaxRowsSent>10000</MaxRowsSent>
<AvgRowsSent>100.1</AvgRowsSent>
<MaxRowsAffected>10000</MaxRowsAffected>
<AvgRowsAffected>100.1</AvgRowsAffected>
<RuleList>
<Name>DAS_NOT_IMPORTANT</Name>
<Type>Predefined</Type>
</RuleList>
</List>
</Data>
<RequestId>B6D17591-B48B-4D31-9CD6-9B9796B2****</RequestId>
<Success>true</Success>
</GetQueryOptimizeDataStatsResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"Code" : "200",
"Message" : "Successful",
"Data" : {
"Total" : 10,
"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"
} ]
} ]
},
"RequestId" : "B6D17591-B48B-4D31-9CD6-9B9796B2****",
"Success" : "true"
}
Codes d'erreur
| HTTP status code | Error code | Error message | Description |
| 400 | InvalidParams | The request parameters are invalid. | Le message d'erreur renvoyé car les paramètres de requête spécifiés ne sont pas valides. |
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur de service.