Por que no se debe usar "Select * From"

lunes, 11 de agosto de 2008

Por que no se debe usar "Select * From"



Como sabemos, el comando "Select" especifica las columnas  que va a retornar dicha consulta, si omitimos este paso y colocamos "*" en su lugar, estamos resumiendo el proceso de colocar todos los campos que posea la tabla, pero, ¿Sabemos si realmente afecta esto al perfomance de la aplicación?, ¿Estamos optimizando la consulta?.
son preguntas que surgen día a día e intentare aclara en este articulo.

Empecemos por aclarar que al ejecutar una consulta en la que no se especifiquen las columnas a retornar, como por ejemplo:
"Select * From...", el motor de Base de Datos debe ejecutar internamente una consulta que le permita obtener la lista de columnas que debe mostrar en dicha consulta. Entonces esto nos indica que, si bien las Bases de datos permiten la ejecución de Consultas sin especificar las columnas, internamente esto genera un proceso que debe realizar la base de datos a fin de lograr retornar la consulta deseada.

Por otro lado, el plan de ejecución o "query plan", se ve afectado, ya que no es posible evaluar adecuadamente la cantidad de columnas y tipos de datos hasta tanto no se tenga las columnas a retornar.

0 comentarios :

Publicar un comentario