Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Otimização de Consultas | Otimização de Consultas.Índices
Quizzes & Challenges
Quizzes
Challenges
/
Otimização de SQL e Recursos de Consulta

bookDesafio: 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:

  1. 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;

  2. 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;

  3. Evitar Operadores IN Repetidos: limite o uso do operador IN nas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulas JOIN ou EXISTS para planos de execução mais eficientes;

  4. 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;

  5. Utilizar Condições Restritivas no WHERE: melhore o desempenho da consulta incluindo condições restritivas na cláusula WHERE para filtrar linhas e aumentar a velocidade de execução;

  6. 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.

Tarefa

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 JOIN entre as tabelas BankAccounts e Transactions;
  • Não utilize o operador IN nem subconsultas;
  • Ordene o resultado por account_number em ordem crescente.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 7
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

bookDesafio: 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:

  1. 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;

  2. 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;

  3. Evitar Operadores IN Repetidos: limite o uso do operador IN nas consultas para evitar impacto no desempenho. Em vez disso, considere utilizar cláusulas JOIN ou EXISTS para planos de execução mais eficientes;

  4. 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;

  5. Utilizar Condições Restritivas no WHERE: melhore o desempenho da consulta incluindo condições restritivas na cláusula WHERE para filtrar linhas e aumentar a velocidade de execução;

  6. 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.

Tarefa

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 JOIN entre as tabelas BankAccounts e Transactions;
  • Não utilize o operador IN nem subconsultas;
  • Ordene o resultado por account_number em ordem crescente.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 7
single

single

some-alt