Desafio: Otimização de Consultas
Considere que desejamos recuperar apenas os números de conta que realizaram pelo menos uma transação.
Nesta tarefa, temos uma consulta que não está otimizada. Sua tarefa é reescrevê-la de forma mais eficiente.
Aqui está uma lista das principais técnicas de reescrita de consultas para melhorar a otimização:
-
Especificar Colunas Explicitamente: em vez de usar o caractere curinga asterisco (
*), mencione explicitamente os nomes das colunas nas consultas para obter melhor desempenho, legibilidade e facilidade de manutenção; -
Minimizar Subconsultas: reduza o uso de subconsultas para otimizar o desempenho da consulta. Considere alternativas como joins ou tabelas derivadas para evitar complexidade e sobrecarga;
-
Evitar Operadores IN Repetidos: limite o uso do operador
INnas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulasJOINouEXISTSpara planos de execução mais eficientes; -
Organizar Joins de Forma Lógica: inicie os joins SQL com a tabela principal e depois faça join com as tabelas relacionadas para otimizar a organização da consulta e a otimização pelo mecanismo do banco de dados;
-
Utilizar Condições Restritivas no WHERE: melhore o desempenho da consulta incluindo condições restritivas na cláusula
WHEREpara filtrar linhas e aumentar a velocidade de execução; -
Refatorar Código em Stored Procedures ou Funções: encapsule segmentos de código repetitivos em stored procedures ou funções definidas pelo usuário para reutilização, modularidade e manutenção facilitada. Isso pode reduzir redundância e otimizar consultas SQL.
Swipe to start coding
Sua tarefa é escrever uma consulta que retorne uma lista de todos os números de conta que realizaram pelo menos uma transação (transferiram dinheiro para outra conta). Os resultados devem ser ordenados em ordem crescente pelo número da conta.
Para tornar sua consulta mais eficiente e legível, siga estes passos:
- Selecione apenas a coluna
account_number; - Utilize um
INNER JOINentre as tabelasBankAccountseTransactions; - Não utilize o operador
INnem subconsultas; - Ordene o resultado por
account_numberem ordem crescente.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.55
Desafio: Otimização de Consultas
Deslize para mostrar o menu
Considere que desejamos recuperar apenas os números de conta que realizaram pelo menos uma transação.
Nesta tarefa, temos uma consulta que não está otimizada. Sua tarefa é reescrevê-la de forma mais eficiente.
Aqui está uma lista das principais técnicas de reescrita de consultas para melhorar a otimização:
-
Especificar Colunas Explicitamente: em vez de usar o caractere curinga asterisco (
*), mencione explicitamente os nomes das colunas nas consultas para obter melhor desempenho, legibilidade e facilidade de manutenção; -
Minimizar Subconsultas: reduza o uso de subconsultas para otimizar o desempenho da consulta. Considere alternativas como joins ou tabelas derivadas para evitar complexidade e sobrecarga;
-
Evitar Operadores IN Repetidos: limite o uso do operador
INnas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulasJOINouEXISTSpara planos de execução mais eficientes; -
Organizar Joins de Forma Lógica: inicie os joins SQL com a tabela principal e depois faça join com as tabelas relacionadas para otimizar a organização da consulta e a otimização pelo mecanismo do banco de dados;
-
Utilizar Condições Restritivas no WHERE: melhore o desempenho da consulta incluindo condições restritivas na cláusula
WHEREpara filtrar linhas e aumentar a velocidade de execução; -
Refatorar Código em Stored Procedures ou Funções: encapsule segmentos de código repetitivos em stored procedures ou funções definidas pelo usuário para reutilização, modularidade e manutenção facilitada. Isso pode reduzir redundância e otimizar consultas SQL.
Swipe to start coding
Sua tarefa é escrever uma consulta que retorne uma lista de todos os números de conta que realizaram pelo menos uma transação (transferiram dinheiro para outra conta). Os resultados devem ser ordenados em ordem crescente pelo número da conta.
Para tornar sua consulta mais eficiente e legível, siga estes passos:
- Selecione apenas a coluna
account_number; - Utilize um
INNER JOINentre as tabelasBankAccountseTransactions; - Não utilize o operador
INnem subconsultas; - Ordene o resultado por
account_numberem ordem crescente.
Solução
Obrigado pelo seu feedback!
single