Popular

Obten claves web y navega gratis Router keygen para Android

Error 403 Forbidden con phpmyadmin y WAMP Server

Realizar suma, resta y división con javascript

Orden de procesamiento lógico de la instrucción SELECT.

Hace días tuve la oportunidad de estar en un curso de Arquitectura de Software, en donde el arquitecto tomo un tema muy interesante el orden de procesamiento lógico de las instrucciones, dado esto me causo mucho interés por el hecho que desde aquí comienza el buen rendimiento de una consulta. 

A continuación se muestra el orden de procesamiento lógico, para la instrucción SELECT. Esté orden determina cuando se ponen a disposición de los objetos definidos en un solo paso a las clausulas en las etapas subsiguientes. Al ejecutar una consulta el orden de ejecución es: 

1. FROM 
2. ON
3. JOIN 
4. WHERE
5. GROUP BY 
6. WITH CUBE or WITH ROLLUP
7. HAVING
8. SELECT 
9. DISTINCT 
10. ORDER BY 
11. TOP



Dado lo anterior podemos darnos cuenta que al tener muchos JOINS en nuestras consultas el rendimiento puede llegar a ser lento, por lo que podemos tener nuestros JOINS y tratar de limitar a la información que realmente vamos a utilizar. 

Dado lo anterior también podemos deducir que es mucho más eficiente utilizar un agrupamiento mediante GROUP BY que utilizando la clausula DISTINCT. 

Como dato adicional puedo comentarles que se adentren en el tema del Plan de ejecución de las consultas, esto puedo ayudar bastante en el correcto rendimiento de nuestras consultas. 

Comentarios

Entradas populares de este blog

Error 403 Forbidden con phpmyadmin y WAMP Server

Número de filas afectadas por instrucción PL/SQL en Oracle [Utilidades].

Como truncar un número decimal en C# sin redondear.