As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Perguntas frequentes
Encontre respostas para perguntas frequentes sobre o ajuste do desempenho da consulta.
O que é EXPLAIN?
EXPLAINé uma palavra-chave que você acrescenta a uma consulta PostgreSQL (SELECT,, UPDATEINSERT,DELETE) para gerar um plano de consulta. O plano de consulta do PostgreSQL detalha como o banco de dados pretende executar a consulta. Esse plano inclui informações sobre a ordem de uma varredura de tabela, uso de índices e junções.
Use o plano de consulta para identificar possíveis gargalos, otimizar consultas e melhorar o desempenho geral. Ao analisar o plano de consulta, considere os seguintes fatores:
-
Abordagens de acesso à tabela
-
Junte abordagens
-
Condições do filtro
-
Operações de classificação
-
Uso do índice
-
Paralelismo
-
Statistics
-
Estimativas de custo
-
Linhas recuperadas de cada etapa
-
Distribuição de dados
Para obter mais informações sobre EXPLAIN
O que é EXPLAIN ANALYZE?
Quando você adiciona um prefixo EXPLAIN ANALYZE a uma consulta e executa a consulta, o PostgreSQL executa a consulta e retorna o plano de consulta e as estatísticas de tempo de execução. O tempo de execução real, as linhas processadas em cada etapa e outras informações relevantes são exibidas junto com o plano de consulta. O uso EXPLAIN ANALYZE em um banco de dados de produção deve ser feito com cuidado, pois a execução da consulta pode afetar o desempenho do banco de dados durante a análise.
Para obter mais informações sobre EXPLAIN ANALYZE
O que é agrupamento no PostgreSQL?
No PostgreSQL, um agrupamento é um conjunto de regras para determinar como as strings são comparadas e classificadas. O agrupamento define a ordem na qual os caracteres são considerados nas comparações, considerando as regras e conversões específicas do idioma.
Para obter mais informações sobre agrupamento
O que é um CTE?
Em um banco de dados PostgreSQL, uma Expressão de Tabela Comum (CTE) é um conjunto de resultados temporário nomeado que você pode referenciar. Os CTEs fornecem uma maneira de criar consultas SQL mais legíveis e modulares dividindo a lógica complexa em unidades menores e nomeadas.
Para obter mais informações sobre CTEs
Quais são as categorias de funções no PostgreSQL?
Cada função do PostgreSQL tem uma classificação de volatilidade, com as possibilidades VOLATILE sendo,, ou: STABLE IMMUTABLE
-
VOLÁTIL — Uma
VOLATILEfunção pode fazer qualquer coisa, inclusive modificar o banco de dados. Ele pode retornar resultados diferentes em chamadas sucessivas com os mesmos argumentos. O otimizador não faz suposições sobre o comportamento de tais funções. Uma consulta usando uma função volátil reavaliará a função em cada linha em que seu valor for necessário. -
ESTÁVEL — Uma
STABLEfunção não pode modificar o banco de dados. É garantido que retornará os mesmos resultados com os mesmos argumentos para todas as linhas em uma única instrução. Quando você usa essa classificação, o otimizador pode otimizar várias chamadas da função para uma única chamada. Em particular, é seguro usar uma expressão que contenha essa função em uma condição de varredura de índice. (Como uma varredura de índice avaliará o valor de comparação apenas uma vez, não uma vez em cada linha, não é válido usar umaVOLATILEfunção em uma condição de varredura de índice.) -
IMUTÁVEL — Uma
IMMUTABLEfunção não pode modificar o banco de dados e tem a garantia de retornar os mesmos resultados com os mesmos argumentos para sempre. Quando você usa essa classificação, o otimizador pode pré-avaliar a função quando uma consulta a chama com argumentos constantes. Por exemplo, uma consulta como aSELECT ... WHERE x = 2 + 2pode ser simplificada à primeira vistaSELECT ... WHERE x = 4, porque a função subjacente ao operador de adição de números inteiros está marcadaIMMUTABLE.
VOLATILEé o padrão se o CREATE FUNCTION comando não especificar uma categoria. Para obter mais informações sobre os tipos de função