Todos os produtos
Search
Central de documentação

Database Autonomy Service:GetRequestDiagnosisResult

Última atualização: Jun 28, 2026

Chama GetRequestDiagnosisResult para obter os resultados do diagnóstico de SQL.

Descrição da operação

Esta API tem os seguintes pré-requisitos:

  • Ao usar um SDK para chamar o serviço DAS, você deve definir a região como cn-shanghai.

  • Esta API não oferece suporte à consulta de resultados de diagnóstico para otimização automática de SQL.

  • Esta API oferece suporte aos seguintes mecanismos de banco de dados:

    • RDS MySQL.

    • RDS PostgreSQL.

    • RDS SQL Server.

    • PolarDB for MySQL.

    • PolarDB for PostgreSQL (compatível com Oracle)

    • ApsaraDB for MongoDB.

Nota

As instâncias do RDS PostgreSQL requerem a versão secundária do kernel 20220130 ou posterior. Para visualizar e atualizar a versão secundária do kernel, consulte Atualizar a versão secundária do kernel.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

hdm:GetRequestDiagnosisResult

get

*All Resource

*

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

InstanceId

string

Sim

O ID da instância.

rm-0iwhhl8gx0ld6****

NodeId

string

Não

O ID do nó.

Nota

Este parâmetro é obrigatório para instâncias de cluster, como PolarDB for MySQL, PolarDB for PostgreSQL (compatível com Oracle) e ApsaraDB for MongoDB.

202****

MessageId

string

Sim

O ID de diagnóstico exclusivo retornado pela operação CreateRequestDiagnosis.

Nota

Se o MessageId for o ID de diagnóstico para otimização automática de SQL, esta operação não retornará resultados de diagnóstico.

61820b594664275c4429****

SqlId

string

Não

O ID do modelo de SQL.

Nota

Este parâmetro é para uso interno do console do DAS. Você não precisa especificar este parâmetro.

None

Source

string

Não

A origem da tarefa.

Nota

Este parâmetro é para uso interno do console do DAS. Você não precisa especificar este parâmetro.

None

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Os parâmetros de resposta.

Message

string

A mensagem de resposta.

Nota

Este parâmetro retorna Successful se a solicitação for bem-sucedida. Se a solicitação falhar, ele retornará uma mensagem de erro, que pode incluir um código de erro.

Successful

RequestId

string

O ID da solicitação.

800FBAF5-A539-5B97-A09E-C63AB2F7****

Data

object

Os dados retornados.

messageId

string

O ID exclusivo do diagnóstico.

61820b594664275c4429****

uuid

string

O identificador exclusivo da instância diagnosticada.

hdm_51fe9bc19ec413f4d530431af87a****

accountId

string

O ID do usuário.

2093****

sqlId

string

O ID do modelo de SQL.

0c95dae3afef77be06572612df9b****

engine

string

O mecanismo de banco de dados. Valores válidos:

  • MySQL

  • PostgreSQL

  • SQL Server

  • PolarDB-X

  • PolarDB for Oracle

  • MongoDB

MySQL

dbSchema

string

O nome do banco de dados.

das

param

string

Informações adicionais.

{"":""}

state

integer

O status do diagnóstico. Valores válidos:

  • 0: Em andamento.

  • 1: Erro de diagnóstico.

  • 2: Concluído.

  • 3: Erro de SQL.

  • 4: Erro de mecanismo.

2

result

string

Os detalhes do resultado do diagnóstico de SQL, retornados como uma string formatada em JSON.

  • endTime: A hora de término do diagnóstico de SQL.

  • errorCode: O código de erro.

    • 0001: O diagnóstico foi bem-sucedido.

    • 0003: O diagnóstico falhou.

  • errorMessage: A mensagem de erro.

  • estimateCost: O custo estimado.

    • cpu: O custo estimado de CPU da consulta.

    • io: O custo estimado de E/S da consulta.

    • rows: O número estimado de linhas retornadas pela consulta.

  • improvement: A taxa de melhoria de desempenho.

  • indexAdvices: As sugestões de índice.

    • columns: As colunas do índice.

    • ddlAddIndex: A instrução DDL para criar o índice.

    • indexName: O nome do índice.

    • schemaName: O nome do schema.

    • tableName: O nome da tabela.

    • unique: Indica se o índice é um índice exclusivo.

  • ip: O endereço IP da instância.

  • messageId: O ID do diagnóstico.

  • port: A porta da instância.

  • sqlTag: As tags de SQL.

    • PRED_EQUAL: Predicado de igualdade.

    • CNT_QB: Número de blocos de consulta.

    • CNT_TB: Número de tabelas.

    • JOIN_LEFT: Left join.

    • SEL_SMALL: Seleção de conjunto de resultados pequeno.

    • AGGR_SEL: Seleção de agregação.

    • PRED_LT_EQ / PRED_GT_EQ: Predicado menor ou igual a / maior ou igual a.

    • PRED_LIKE_PREFIX: Correspondência de prefixo LIKE.

    • ORDER_BY: Contém uma cláusula ORDER BY.

    • LIMIT: Contém uma cláusula LIMIT.

    • GROUP_BY: Contém uma cláusula GROUP BY.

    • JOIN_INNER: Inner join.

    • JOIN_RIGHT: Right join.

    • HAVING: Contém uma cláusula HAVING.

    • UNION: Contém uma operação UNION.

  • startTime: A hora de início do diagnóstico de SQL.

  • success: Indica se o diagnóstico foi bem-sucedido.

  • support: Indica se a instrução SQL pode ser diagnosticada.

    • true: Suportado.

    • false: Não suportado.

  • tuningAdvices: As sugestões de reescrita de SQL.

{ "endTime":1636354256000, "errorCode":"0001", "errorMessage":"TFX成功", "estimateCost":{ "cpu":1.7878745150389268, "io":9.948402604746128, "rows":8.889372575194633 }, "improvement":12933.97, "indexAdvices":[ { "columns":[ "work_no" ], "ddlAddIndex":"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)", "indexName":"idx_workno", "schemaName":"test", "tableName":"work_order", "unique":false } ], "ip":"****.mysql.rds.aliyuncs.com", "messageId":"6188c8cb2f1365b16aee****", "port":3306, "sqlTag":"{\"PRED_EQUAL\":\"Y\",\"CNT_QB\":\"1\",\"CNT_TB\":\"1\"}", "startTime":1636354252000, "success":true, "support":true, "tuningAdvices":[ ] }

gmtCreate

string

A hora de criação do diagnóstico de SQL, fornecida como um timestamp Unix em milissegundos.

1633071840000

gmtModified

string

A hora da última modificação do diagnóstico de SQL, fornecida como um timestamp Unix em milissegundos.

1633071850000

Code

string

O código de status retornado.

200

Success

string

Indica se a solicitação foi bem-sucedida. Valores válidos:

  • true: A solicitação foi bem-sucedida.

  • false: A solicitação falhou.

true

Exemplos

Resposta de sucesso

JSON formato

{
  "Message": "Successful",
  "RequestId": "800FBAF5-A539-5B97-A09E-C63AB2F7****",
  "Data": {
    "messageId": "61820b594664275c4429****",
    "uuid": "hdm_51fe9bc19ec413f4d530431af87a****",
    "accountId": "2093****",
    "sqlId": "0c95dae3afef77be06572612df9b****",
    "engine": "MySQL",
    "dbSchema": "das",
    "param": "{\"\":\"\"}",
    "state": 2,
    "result": "{ \"endTime\":1636354256000, \"errorCode\":\"0001\", \"errorMessage\":\"TFX成功\", \"estimateCost\":{ \"cpu\":1.7878745150389268, \"io\":9.948402604746128, \"rows\":8.889372575194633 }, \"improvement\":12933.97, \"indexAdvices\":[ { \"columns\":[ \"work_no\" ], \"ddlAddIndex\":\"ALTER TABLE `test`.`work_order` ADD INDEX `idx_workno` (`work_no`)\", \"indexName\":\"idx_workno\", \"schemaName\":\"test\", \"tableName\":\"work_order\", \"unique\":false } ], \"ip\":\"****.mysql.rds.aliyuncs.com\", \"messageId\":\"6188c8cb2f1365b16aee****\", \"port\":3306, \"sqlTag\":\"{\\\"PRED_EQUAL\\\":\\\"Y\\\",\\\"CNT_QB\\\":\\\"1\\\",\\\"CNT_TB\\\":\\\"1\\\"}\", \"startTime\":1636354252000, \"success\":true, \"support\":true, \"tuningAdvices\":[ ] }",
    "gmtCreate": "1633071840000",
    "gmtModified": "1633071850000"
  },
  "Code": "200",
  "Success": "true"
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.