Definição – o que significa análise de consulta?
A análise de consultas é um processo usado em bancos de dados que fazem uso de SQL para determinar como otimizar ainda mais as consultas para desempenho.
A análise de consultas é um aspecto importante do processamento de consultas, pois ajuda a melhorar o desempenho geral do processamento de consultas, o que irá acelerar muitas funções e aspectos do banco de dados. Para fazer isso, um otimizador de consulta analisa uma instrução de consulta específica e gera planos de acesso remoto e local para serem usados no fragmento de consulta, com base no custo de recursos de cada plano.
O banco de dados escolherá o plano que acredita que processará a consulta com o menor custo em recursos.
Definirtec explica a análise de consulta
Em geral, as consultas SQL são geradas por aplicativos e os usuários são então enviados para um banco de dados federado para recuperar dados das origens. Com base na instrução da consulta, o compilador SQL consulta o wrapper da origem de dados e as informações armazenadas no catálogo global para ajudá-lo a processar a consulta.
As informações que ele recupera incluem a origem de dados, mapeamentos, dados e atributos do servidor, apelidos, estatísticas e muito mais. O otimizador de consulta que facilita a análise da consulta é, na verdade, parte do processo do compilador SQL.
Por meio do otimizador de consulta, o compilador desenvolve diversos planos, estratégias alternativas que podem ser utilizadas no processamento da consulta. Eles são chamados de planos de acesso e podem exigir que a consulta seja processada por diferentes elementos.
Esses elementos são:
-
O servidor federado
-
As fontes de dados
-
Um pouco de ambos
Em bancos de dados relacionais, uma análise de empilhamento é executada. Ele determina quais operações podem ser avaliadas remotamente com base na instrução de consulta e no conhecimento que possui dos recursos das fontes de dados. Com base nos resultados dessa análise, o otimizador de consulta escolherá o melhor plano de acesso com o menor custo de recursos.