Ajuste de SQL ou otimização de SQL

Índice

Algumas consultas consomem mais recursos do que outras. Por exemplo, as consultas que retornam grandes conjuntos de resultados e aquelas que contêm cláusulas WHERE que não são exclusivas sempre consomem muitos recursos. Nenhum grau de inteligência de bancos de dados sql faz um bom trabalho de otimização de consultas nem pode eliminar o custo de recursos dessas construções em comparação com uma consulta menos complexa.
Podemos obter os mesmos resultados escrevendo diferentes consultas SQL. Mas usar a melhor consulta é importante ao considerar o desempenho. O ajuste de SQL é o processo de garantir que as instruções SQL que uma aplicação gera sejam executadas no menor tempo possível.Essas consultas SQL podem ser otimizadas para um melhor desempenho.
Técnicas de otimização ou ajuste de SQL
A seguir, veremos algumas técnicas de otimização
CASO 1: A consulta SQL torna-se mais rápida se você usar os nomes dos campos do que * como consulta de todos os campos da tabela
SELECIONE * DOS clientes

É mais ideal escrever a consulta desta forma
SELECIONE id, nome, endereço DE clientes

CASO 2: A cláusula HAVING é usada para filtrar as linhas após todas as linhas terem sido selecionadas.
 SELECIONE matéria, contar (alunos) número_alunos DE inscritos ONDE matéria = 'Química' AND matéria = 'História' GRUPO POR matéria;

É mais ideal escrever a consulta desta forma
 SELECTmateria, contagem (alunos) number_alumnos FROM matriculados GRUPO POR matéria HAVING assunto = 'Química' AND assunto = 'História'

CASO 3: Às vezes, podemos ter mais de uma subconsulta na consulta principal. Vamos ver no exemplo a seguir como minimizar o bloco de subconsulta em sua consulta.
Consultamos o funcionário mais velho e mais bem pago.
 SELECT nome FROM funcionários ONDE salário = (SELECT MAX (salário) FROM funcionários) AND idade = (SELECT MAX (idade) FROM funcionários) AND categoria = 'Eletrônicos';

É mais ideal escrever a consulta da seguinte maneira
 SELECIONE o nome FROM funcionários ONDE (salário, idade) = (SELECIONE MAX (salário), MAX (idade) DOS funcionários) E item = 'Eletrônicos';

CASO 4: Usar o operador EXISTS, IN e as junções de tabela apropriadamente em sua consulta é importante, pois são transações que tornam o acesso aos dados mais lento.
Desempenho geralmente mais lento na consulta canda.
IN é eficiente quando a maioria dos critérios de filtro está na subconsulta.
Exist é eficiente quando a maioria dos critérios de filtro está na consulta principal.
Vamos ver alguns exemplos
 Selecione * do produto p onde product_id IN (selecione product_id dos pedidos)

É mais ideal escrevê-lo da seguinte maneira
 Selecione * do produto onde EXISTE (selecione * dos pedidos em que orders.product_id = product.product_id)

Usar existir ao invés de DISTINTO
Veja por exemplo quais categorias têm livros disponíveis
 SELECIONE DISTINTO categorias.id, categorias.categorias DE categorias, livros WHERE categorias.id = livros.idcategoria;

É mais ideal escrever a consulta da seguinte forma
 SELECIONE DISTINTO categorias.id, categorias.categorias DE categorias ONDE EXISTE (SELECIONE 'X' DE livros ONDE books.idcategory = categorias.id);

Essas são algumas dicas que vão economizar recursos na hora de executar consultas sql e assim também ter uma aplicação com respostas mais rápidas.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave