Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Para poder executar consultas, o Mecanismo de Banco de Dados do SQL Server deve analisar a instrução para determinar uma maneira eficiente de acessar os dados necessários e processá-los. Essa análise é tratada por um componente chamado Otimizador de Consulta. A entrada para o Otimizador de Consulta consiste na consulta, no esquema do banco de dados (definições de tabela e índice) e nas estatísticas do banco de dados. O Otimizador de Consultas cria um ou mais planos de execução de consulta , às vezes chamados de planos de consulta ou planos de execução . O Otimizador de Consulta escolhe um plano de consulta usando um conjunto de heurísticas para equilibrar o tempo de compilação e a otimização do plano para encontrar um bom plano de consulta.
Dica
Para obter mais informações sobre o processamento de consultas e planos de execução de consultas, consulte as seções Otimização de instruções SELECT e Cache e reutilização do plano de execução do guia sobre a arquitetura de processamento de consultas.
Para obter informações sobre como exibir planos de execução no SQL Server Management Studio e no Azure Data Studio, consulte Exibir e salvar planos de execução.
Um plano de execução de consulta é a definição de:
A sequência na qual as tabelas de origem são acessadas.
Normalmente, há muitas sequências nas quais o servidor de banco de dados pode acessar as tabelas base para criar o conjunto de resultados. Por exemplo, se uma instrução
SELECTfizer referência a três tabelas, o servidor de banco de dados poderá primeiro acessarTableA, usar os dados deTableApara extrair linhas correspondentes deTableBe, em seguida, usar os dados deTableBpara extrair dados deTableC. As outras sequências nas quais o servidor de banco de dados pode acessar as tabelas são:
TableC,TableB,TableA, ou
TableB,TableA,TableC, ou
TableB,TableC,TableA, ou
TableC,TableA,TableBOs métodos usados para extrair dados de cada tabela.
Geralmente, existem diferentes métodos para acessar os dados em cada tabela. Se apenas algumas linhas com valores de chave específicos forem necessárias, o servidor de banco de dados poderá usar um índice. Se todas as linhas da tabela forem necessárias, o servidor de banco de dados poderá ignorar os índices e executar uma verificação de tabela. Se todas as linhas de uma tabela forem necessárias, mas houver um índice cujas colunas principais estejam em um
ORDER BY, executar uma verificação de índice em vez de uma verificação de tabela pode salvar um conjunto de resultados separado. Se uma tabela for pequena, as verificações de tabela podem ser o método mais eficiente para quase todo o acesso à tabela.Os métodos usados para realizar cálculos e como filtrar, agregar e classificar dados de cada tabela.
Como os dados são acessados a partir de tabelas, há diferentes métodos para executar cálculos sobre dados, como calcular valores escalares, e para agregar e classificar dados conforme definido no texto da consulta, por exemplo, ao usar uma cláusula
GROUP BYouORDER BYe como filtrar dados, por exemplo, ao usar uma cláusulaWHEREouHAVING.
Conteúdo relacionado
- Monitore e otimize para o desempenho
- Ferramentas de monitoramento e ajuste de desempenho
- Guia de arquitetura de processamento de consultas
- Estatísticas da Consulta ao Vivo
- Monitor de Atividade
- Monitorar o desempenho usando o Repositório de Consultas
- sys.dm_exec_query_statistics_xml
- sys.dm_exec_query_profiles
- Definir sinalizadores de rastreamento com DBCC TRACEON (Transact-SQL)
- Referência aos operadores lógicos e físicos do showplan
- Infraestrutura de Perfilagem de Consultas
- Exibir e salvar planos de execução
- Comparar e analisar planos de execução
- Guias do Plano