O que significa analisar uma consulta?

A maioria das bases de dados relacionais lida com uma consulta JDBC / SQL em quatro etapas:

  1. analisem a consulta SQL recebida
  2. Compile a consulta SQL
  3. Plano / optimização da localização de aquisição de dados
  4. executar a consulta optimizada / adquirir e devolver os dados

quero saber o que significa realmente" analisar a consulta recebida"? E o que significa" planejar/otimizar o caminho de aquisição de dados"?

Author: Azim, 2014-08-22

4 answers

Processamento é uma etapa no processamento de uma declaração SQL. Quando uma aplicação emite uma declaração SQL,a aplicação faz uma chamada de processamento para a base de dados . Durante a chamada de processamento, base de dados:

  1. verifica a validade sintática e semântica da declaração.
  2. determina se o processo de emissão da declaração tem privilégios para a executar.
  3. atribui uma área SQL privada para a declaração.
 9
Author: Tushar, 2014-08-22 19:54:25

O processamento é um dos processos de compilação.

Fases de um compilador:

enter image description here

Fonte: fases do compilador

 2
Author: Ganesh_Devlekar, 2014-08-22 19:55:46
  1. Analisar significa examinar os caracteres introduzidos e reconhecê-lo como um comando ou declaração, olhando através dos caracteres para palavras-chave e identificadores, ignorando comentários, organizando porções citadas como constantes de string, e combinando a estrutura geral com a sintaxe da linguagem fazendo sentido de tudo.

  2. Planejar / otimizar significa descobrir a melhor maneira (de todas as maneiras possíveis) de determinar o resultado, geralmente em relação ao tempo de execução. Poderia também significa minimizar o número de fechaduras necessárias. Talvez algumas partes da consulta podem ser ignoradas ({[[0]}) ou uma tabela não precisa ser acessada em tudo, etc.

 1
Author: wallyk, 2014-08-22 19:50:05

1) análise sintática da consulta de acordo com as regras da gramática SQL, etc. e tentando "tokenize" a consulta na forma de partes elementares.

2) planeamento/optimização: nessa fase, o motor SQL tenta avaliar qual seria a melhor forma de executar a sua consulta. Ele tenta tirar proveito dos índices existentes, clusters e relações de tabela; encontrar maneiras em torno de varreduras de mesa completas, utilizar caching efetivamente, evitando leituras de dados repetidas, e assim diante.

 1
Author: uncoder, 2014-08-22 19:54:56