Desafio: Otimização de Consultas
Vamos analisar duas tabelas: BankAccounts
e uma tabela adicional chamada Transactions
.
Tabela BankAccounts
Tabela Transactions
Suponha 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 (
*
), 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
IN
nas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulasJOIN
ouEXISTS
para 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 o desempenho do mecanismo de banco de dados;
-
Utilizar Condições WHERE Restritivas: Melhore o desempenho da consulta incluindo condições restritivas na cláusula
WHERE
para 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
Reescreva a consulta de forma mais otimizada. Observe que é necessário obter apenas os números das contas que realizaram pelo menos uma transação (transferiram dinheiro para outra conta), ordenados em ordem crescente.
Nota
Utilize o tipo de junção
LEFT
ouINNER
para completar esta tarefa.
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.35
Desafio: Otimização de Consultas
Deslize para mostrar o menu
Vamos analisar duas tabelas: BankAccounts
e uma tabela adicional chamada Transactions
.
Tabela BankAccounts
Tabela Transactions
Suponha 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 (
*
), 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
IN
nas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulasJOIN
ouEXISTS
para 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 o desempenho do mecanismo de banco de dados;
-
Utilizar Condições WHERE Restritivas: Melhore o desempenho da consulta incluindo condições restritivas na cláusula
WHERE
para 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
Reescreva a consulta de forma mais otimizada. Observe que é necessário obter apenas os números das contas que realizaram pelo menos uma transação (transferiram dinheiro para outra conta), ordenados em ordem crescente.
Nota
Utilize o tipo de junção
LEFT
ouINNER
para completar esta tarefa.
Solução
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 4.35single