Explique a saída de palavras -chave para consulta selecionada:
Quando a palavra -chave explicar é executada com a instrução SELECT, a saída de explicar retornará as seguintes colunas.
Coluna | Descrição |
eu ia | Indica o identificador da consulta. Representa o número seqüencial de consultas selecionadas. |
selecione o tipo | Indica o tipo de consulta selecionada. O tipo pode ser simples, primário, subconstrado, união, etc. |
mesa | Indica o nome da tabela usado na consulta. |
partições | Indica as partições da tabela particionada examinada. |
tipo | Indica o tipo de junção ou o tipo de acesso das tabelas. |
possível_keys | Indica as chaves que podem ser usadas pelo MySQL para encontrar linhas da tabela. |
chave | Indica o índice usado por mysql. |
key_len | Indica o comprimento do índice que usará pelo otimizador de consulta. |
Ref | Indica as colunas ou constantes que são comparadas ao índice nomeado na coluna da chave |
linhas | Indica as listas de registros que foram examinados. |
filtrado | Indica a porcentagem estimada de linhas de tabela que serão filtradas pela condição. |
extra | Indica as informações adicionais sobre o plano de execução da consulta. |
Suponha que você tenha duas tabelas relacionadas nomeadas clientes e ordens no banco de dados nomeado empresa. As instruções SQL necessárias para criar o banco de dados e as tabelas com dados são fornecidas abaixo.
Criar empresa de banco de dados;Execute a seguinte declaração para ver a lista de registros atual de clientes mesa.
Selecione * dos clientes;Execute a seguinte declaração para ver a lista de registros atual de ordens mesa.
Selecione * de pedidos;Uso da declaração de explicação simples:
A seguinte instrução SQL retornará a palavra -chave da declaração de explicação de uma consulta selecionada simples que recupera todos os registros da tabela de clientes.
Explique selecionar * FROM CLIENTES \ G;A saída a seguir aparecerá após a execução da declaração. É uma consulta de mesa única e sem cláusulas especiais como junção, união, etc. são usados na consulta. Para isso, o valor de selecione o tipo é SIMPLES. A tabela de clientes contém apenas três registros, é por isso que o valor de linhas é 3. O valor do filtrado é 100% porque todos os registros da tabela são recuperados.
Uso de explicar em consulta selecionada com junção:
A declaração de explicação a seguir é aplicada em uma consulta selecionada de duas tabelas com a cláusula de junção e uma condição onde.
Explique clientes selecionados.nome, ordens.order_date, ordens.quantiaA saída a seguir aparecerá após a execução da declaração. Aqui, selecione o tipo é simples para ambas as tabelas. Duas tabelas estão relacionadas por um relacionamento um para muitos. A chave primária de clientes A tabela é usada como uma chave estrangeira de ordens mesa. Para isso, o valor de possível_keys Para a segunda fila é Identificação do Cliente. O valor filtrado é 33% para clientes mesa porque 'Johnathan' é a primeira entrada desta tabela e não há necessidade de pesquisar mais. O valor filtrado de ordens A tabela é 100% por causa de todos os valores de ordens Tabela necessária para verificar para recuperar os dados.
Há um aviso na produção da declaração acima. A declaração a seguir é usada para ver a consulta que é executada após fazer alguma alteração pelo otimizador de consulta ou verificar o motivo do erro se ocorrer algum erro após executar a consulta.
Show avisos \ gNão há erro na consulta. A saída mostra a consulta modificada que é executada.
Uso de explicar para descobrir o erro de selecionar consulta:
A consulta selecionada que é usada na declaração de explicação a seguir contém um erro. O formato de data que é suportado pelo MySQL é 'AAAA-MM-DD'. Mas na condição de onde esta consulta, o valor da data é dado como 'Dd-mm-yyyy' isso esta errado.
Explique clientes selecionados.nome, ordens.order_date, ordens.quantiaA saída a seguir será apareceu após a execução da declaração. Vai mostrar dois avisos. Um é o padrão que é explicado no exemplo anterior e outro é para o erro mencionado antes.
Execute a declaração para ver o erro.
Show avisos \ gA saída mostra o erro claramente com uma mensagem de erro e nome da coluna.
Uso de explicar em consulta selecionada com a Union All Operator:
Union All Operator é usado na consulta selecionada para recuperar todos os valores de coluna correspondentes com duplicatas das tabelas relacionadas. A declaração a seguir exibirá a saída de explicar da aplicação da união, todo o operador entre clientes e ordens mesas.
Explique selecionar ID como IDA saída a seguir aparecerá após a execução da declaração. Aqui, o valor de selecione o tipo é UNIÃO para a segunda linha da saída e o valor de Extra é o índice.
Conclusão:
Os usos muito simples da declaração de explicação são mostrados neste artigo. Mas essa afirmação pode ser usada para resolver vários problemas complicados de banco de dados e otimizar o banco de dados para melhor desempenho.