Si desarrollamos aplicaciones de negocio y empresariales con tecnologías Microsoft y .NET seguramente utilizaremos SQL Server para guardar y recuperar la información desde la base de datos y T-SQL para escribir el codigo.
Ciclo de vida de consultas SQL
Es importante recordar como piensa el motor de SQL Server para ejecutar las consultas, primero analiza (parse), segundo realiza optimizaciones (optimize) y por ultimo Ejecuta (execute) la consulta:
El objetivo de este articulo es que sirva de guía de consulta para saber cuales son las mejores practicas cuando trabajamos con consultas SQL desde desarrollo, aunque algunas son muy obvias, no esta de más recordarlas de vez en cuando
Buenas practicas con consultas SQL
- No utilizar SELECT * FROM tabla
- No utilizar SQL dinámico en código fuente para evitar SQL injections
- No usar subconsultas SELECT col1,col2, SELECT… col3
- Evitar subconsultas anidadas SELECT … FROM SELECT…
- Evitar el uso de Wilcards en LIKE como «%valor%»
- Evitar usar IN es mejor
EXISTS
. - Evitar usar CURSORES en SQL siempre que sea posible.
- Evitar usar TRIGGERS solo como ultimo recurso o para temas puntuales.
- Todas las tablas deberian tener una PK con un index de tipo cluster.
- Usar CONSTRAINT para mantener la integridad de los datos.
- Usar indices en las columnas de búsquedas para mejorar performance.
- Usar
GROUP BY
,ORDER BY
, orDISTINCT
en querys solo cuando sea absolutamente necesario - Usar
SET NOCOUNT ON
con operaciones CRUD para no contar el nº de filas afectadas y ganar rendimiento sobre todo en tablas con muchos registros.