Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Optimización de Consultas | Optimización de Consultas.Índices
Quizzes & Challenges
Quizzes
Challenges
/
Optimización de SQL y Características de Consulta

bookDesafío: Optimización de Consultas

Suponga que queremos recuperar solo los números de cuenta que han realizado al menos una transacción.

En esta tarea, tenemos una consulta que no está optimizada. Su tarea es reescribirla de una manera más óptima.

A continuación se muestra una lista de las principales técnicas de reescritura de consultas para mejorar la optimización:

  1. Especificar columnas explícitamente: en lugar de usar el comodín asterisco (*), mencione explícitamente los nombres de las columnas en las consultas para mejorar el rendimiento, la legibilidad y el mantenimiento;

  2. Minimizar subconsultas: reduzca el uso de subconsultas para optimizar el rendimiento de la consulta. Considere alternativas como uniones (joins) o tablas derivadas para evitar la complejidad y la sobrecarga;

  3. Evitar operadores IN repetidos: limite el uso del operador IN en las consultas para prevenir impactos en el rendimiento. En su lugar, considere utilizar cláusulas JOIN o EXISTS para obtener planes de ejecución más eficientes;

  4. Organizar uniones lógicamente: comience las uniones SQL con la tabla principal y luego únase con tablas relacionadas para optimizar la organización de la consulta y la optimización del motor de base de datos;

  5. Utilizar condiciones WHERE restrictivas: mejore el rendimiento de la consulta incluyendo condiciones restrictivas en la cláusula WHERE para filtrar filas y aumentar la velocidad de ejecución;

  6. Refactorizar el código en procedimientos almacenados o funciones: encapsule segmentos de código repetitivos en procedimientos almacenados o funciones definidas por el usuario para la reutilización del código, modularidad y un mantenimiento más sencillo. Esto puede reducir la redundancia y optimizar las consultas SQL.

Tarea

Swipe to start coding

Su tarea es escribir una consulta que devuelva una lista de todos los números de cuenta que han realizado al menos una transacción (transferido dinero a otra cuenta). Los resultados deben estar ordenados en orden ascendente por número de cuenta.

Para que su consulta sea más eficiente y legible, siga estos pasos:

  • Seleccione solo la columna account_number;
  • Utilice un INNER JOIN entre las tablas BankAccounts y Transactions;
  • No utilice el operador IN ni subconsultas;
  • Ordene el resultado por account_number en orden ascendente.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you show me the original unoptimized query?

What database system are we using for this task?

Can you provide an example of the tables involved?

close

Awesome!

Completion rate improved to 4.55

bookDesafío: Optimización de Consultas

Desliza para mostrar el menú

Suponga que queremos recuperar solo los números de cuenta que han realizado al menos una transacción.

En esta tarea, tenemos una consulta que no está optimizada. Su tarea es reescribirla de una manera más óptima.

A continuación se muestra una lista de las principales técnicas de reescritura de consultas para mejorar la optimización:

  1. Especificar columnas explícitamente: en lugar de usar el comodín asterisco (*), mencione explícitamente los nombres de las columnas en las consultas para mejorar el rendimiento, la legibilidad y el mantenimiento;

  2. Minimizar subconsultas: reduzca el uso de subconsultas para optimizar el rendimiento de la consulta. Considere alternativas como uniones (joins) o tablas derivadas para evitar la complejidad y la sobrecarga;

  3. Evitar operadores IN repetidos: limite el uso del operador IN en las consultas para prevenir impactos en el rendimiento. En su lugar, considere utilizar cláusulas JOIN o EXISTS para obtener planes de ejecución más eficientes;

  4. Organizar uniones lógicamente: comience las uniones SQL con la tabla principal y luego únase con tablas relacionadas para optimizar la organización de la consulta y la optimización del motor de base de datos;

  5. Utilizar condiciones WHERE restrictivas: mejore el rendimiento de la consulta incluyendo condiciones restrictivas en la cláusula WHERE para filtrar filas y aumentar la velocidad de ejecución;

  6. Refactorizar el código en procedimientos almacenados o funciones: encapsule segmentos de código repetitivos en procedimientos almacenados o funciones definidas por el usuario para la reutilización del código, modularidad y un mantenimiento más sencillo. Esto puede reducir la redundancia y optimizar las consultas SQL.

Tarea

Swipe to start coding

Su tarea es escribir una consulta que devuelva una lista de todos los números de cuenta que han realizado al menos una transacción (transferido dinero a otra cuenta). Los resultados deben estar ordenados en orden ascendente por número de cuenta.

Para que su consulta sea más eficiente y legible, siga estos pasos:

  • Seleccione solo la columna account_number;
  • Utilice un INNER JOIN entre las tablas BankAccounts y Transactions;
  • No utilice el operador IN ni subconsultas;
  • Ordene el resultado por account_number en orden ascendente.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
single

single

some-alt