Consulta informações sobre modelos de SQL com base em dados de governança de consultas.
Se você utilizar um SDK do Alibaba Cloud, verifique se a versão do aliyun-sdk-core é superior à V2.1.8. Recomendamos o uso da versão mais recente.
A versão do SDK do Database Autonomy Service (DAS) deve ser V2.1.8 ou posterior.
Ao usar um SDK para chamar operações de API do DAS, defina o ID da região como cn-shanghai.
-
Esta operação é compatível com os seguintes mecanismos de banco de dados:
ApsaraDB RDS for MySQL
PolarDB for MySQL
ApsaraDB RDS for PostgreSQL
Parâmetros da solicitação
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | GetQueryOptimizeDataStats | A operação a ser executada. Defina o valor como GetQueryOptimizeDataStats. |
| Engine | String | Yes | MySQL | O mecanismo do banco de dados. Valores válidos:
|
| InstanceIds | String | No | rm-2ze8g2am97624**** | Os IDs das instâncias. Separe vários IDs com vírgulas (,). |
| TagNames | String | No | None | Parâmetro reservado. |
| Keywords | String | No | select update | As palavras-chave dos modelos de SQL. Separe várias palavras-chave com espaços. |
| LogicalOperator | String | No | or | A relação lógica entre várias palavras-chave. Valores válidos:
|
| Rules | String | No | DAS_NOT_IMPORTANT | As tags usadas para filtrar modelos de SQL. Separe várias tags com vírgulas (,). Para obter mais informações, consulte Governança de consultas. |
| DbNames | String | No | testdb01 | O nome do banco de dados a ser consultado. |
| Time | String | Yes | 1642953600000 | O intervalo de tempo da consulta. Especifique o horário no formato de timestamp UNIX. Unidade: milissegundos. |
| PageSize | String | No | 10 | O número máximo de entradas a retornar por página. Valor padrão: 10. |
| PageNo | String | No | 1 | O número da página a retornar. A numeração começa em 1. Valor padrão: 1. |
| OrderBy | String | No | count | O campo usado para ordenar as entradas retornadas. Valor padrão: count. Valores válidos:
|
| Asc | String | No | true | Define se as entradas retornadas devem ser ordenadas em ordem crescente. Valor padrão: true. Valores válidos:
|
| OnlyOptimizedSql | String | No | false | Define se a consulta deve retornar apenas modelos de SQL que precisam de otimização. Valor padrão: false. Valores válidos:
|
| SqlIds | String | No | 2e8147b5ca2dfc640dfd5e43d96a**** | O ID do modelo de SQL. Consulte o ID de um modelo chamando a operação GetQueryOptimizeExecErrorStats. |
| Region | String | No | cn-china | A região onde a instância está localizada. Valores válidos:
Este parâmetro só tem efeito quando InstanceIds estiver vazio. Se InstanceIds estiver vazio, o sistema obtém dados da região definida por Region. Por padrão, Region é definido como cn-china. Se você especificar InstanceIds, Region não terá efeito e o sistema obterá dados da região onde reside a primeira instância especificada. Nota Se suas instâncias estiverem em regiões dentro da China continental, defina este parâmetro como cn-china. |
| User | String | No | testUser | A conta do banco de dados a ser consultado. |
Parâmetros de resposta
| Parameter | Type | Example | Description |
| Code | String | 200 | O código de status HTTP retornado. |
| Message | String | Successful | A mensagem retornada para a solicitação. |
| Data | Object | Os detalhes dos modelos de SQL. | |
| Total | Long | 10 | O número total de entradas retornadas. |
| PageNo | Integer | None | Parâmetro reservado. |
| PageSize | Integer | None | Parâmetro reservado. |
| Extra | String | None | Parâmetro reservado. |
| List | Array of QueryOptimizeDataStats | As informações sobre os modelos de SQL. | |
| InstanceId | String | rm-2ze8g2am97624**** | O ID da instância. |
| Dbname | String | testdb01 | O nome do banco de dados ao qual o modelo de SQL pertence. |
| SqlId | String | 2e8147b5ca2dfc640dfd5e43d96a**** | O ID do modelo de SQL. |
| SqlType | String | INSERT | O tipo da instrução SQL. |
| Psql | String | select 1 | O modelo de SQL. |
| SqlSample | String | select 2 | A consulta de exemplo com maior tempo de execução. |
| Count | Integer | 100 | O número de execuções do modelo de SQL. |
| MaxQueryTime | double | 1.1 | O maior tempo de execução da consulta. Unidade: segundos. |
| AvgQueryTime | double | 1.1 | O tempo médio de execução da consulta. Unidade: segundos. |
| MaxLockTime | double | 0.1 | O maior tempo de espera de bloqueio. Unidade: segundos. |
| AvgLockTime | double | 0.1 | O tempo médio de espera de bloqueio. Unidade: segundos. |
| MaxRowsExamined | Long | 100000 | A maior quantidade de linhas verificadas. |
| AvgRowsExamined | double | 100.1 | A média de linhas verificadas. |
| MaxRowsSent | Long | 10000 | A maior quantidade de linhas retornadas. |
| AvgRowsSent | double | 100.1 | A média de linhas retornadas. |
| MaxRowsAffected | Long | 10000 | A maior quantidade de linhas afetadas pelo modelo de SQL. Nota Se este parâmetro não for coletado, o valor retornado será -1. |
| AvgRowsAffected | double | 100.1 | A média de linhas afetadas pelo modelo de SQL. Nota Se este parâmetro não for coletado, o valor retornado será -1. |
| RuleList | Array of Rules | As informações sobre as tags. | |
| Name | String | DAS_NOT_IMPORTANT | O nome da tag. Para obter mais informações, consulte Governança de consultas. |
| Type | String | Predefined | O tipo da tag. Valores válidos:
|
| User | String | testUser | A conta do banco de dados. |
| RequestId | String | B6D17591-B48B-4D31-9CD6-9B9796B2**** | O ID da solicitação. |
| Success | String | true | Indica se a solicitação foi bem-sucedida. Valores válidos:
|
Exemplos
Exemplos de solicitações
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
Exemplos de respostas de sucesso
Formato XML
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>
Formato JSON
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"
}
Códigos de erro
|
HTTP status code |
Error code |
Error message |
Description |
|
400 |
InvalidParams |
The request parameters are invalid. |
Mensagem de erro retornada porque os parâmetros de solicitação especificados são inválidos. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.