9 Maneiras para Melhorar Perfomance de Consultas SQL
-
Certifique-se de especificar o índice correto para a consulta.
-
Verifique se os tipos de dados usados na consulta são compatíveis com os usados na tabela.
-
Utilize o operador LIKE ao invés do operador = para evitar que o banco de dados procure linha por linha. -
Ao invés de vários operadores OR, utilize o operador BETWEEN para reduzir o número de linhas que o banco de dados precisa varrer.
-
Utilize a cláusula WHERE corretamente para filtrar os resultados da maneira mais eficiente possível.
-
Quando possível, utilize subconsultas para reduzir o número de linhas que o banco de dados precisa varrer.
-
Evite ORDER BY desnecessário para melhorar o desempenho da consulta.
-
Utilize as funções do banco de dados corretamente para obter os resultados desejados.
-
Utilize o modo de execução explícito ao invés do modo de execução implícito para melhorar o desempenho da consulta.
Sobre:
Utilize o operador LIKE ao invés do operador = para evitar que o banco de dados procure linha por linha.
Acredito que isso está errado. Em ambos os operadores o banco de dados vai procurar linha por linha. Além disso, é mais rápido verificar a igualdade do que buscar por um padrão em uma string, que é o que operador LIKE
faz.
Para comprovar, basta executar as duas queries seguintes no PostgreSQL:
explain
select item
from tabela
where item like 'xxx';
explain
select item
from tabela
where item = 'xxx';
O comando pede para o banco explicar o que será feito para buscar o dado, em ambos os casos ele retorna algo como "Seq Scan on ...", isto é, irá fazer uma busca sequencial em todos os items.
OBS: Caso a coluna buscada contenha indíces o resultado é um pouco diferente.
Sobre o comando explain.