SqlServer: Buenas practicas en consultas SQL para developers

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:

Si como desarrolladores estáis empezando con este tipo de aplicaciones, el ciclo de vida SQL es fundamental entenderlo para lograr la ejecución más optima posible y obtener el mejor rendimiento, lo más normal, es que a veces se olvide la forma correcta de proceder a la hora de programar los mantenimientos CRUD y acceso a datos para obtener la información y mostrarla en la interfaz de usuario.

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

  1. No utilizar SELECT * FROM tabla
  2. No utilizar SQL dinámico en código fuente para evitar SQL injections
  3. No usar subconsultas SELECT col1,col2, SELECT… col3
  4. Evitar subconsultas anidadas SELECT … FROM SELECT…
  5. Evitar el uso de Wilcards en LIKE como «%valor%»
  6. Evitar usar IN es mejor EXISTS.
  7. Evitar usar CURSORES en SQL siempre que sea posible.
  8. Evitar usar TRIGGERS solo como ultimo recurso o para temas puntuales.
  9. Todas las tablas deberian tener una PK con un index de tipo cluster.
  10. Usar CONSTRAINT para mantener la integridad de los datos.
  11. Usar indices en las columnas de búsquedas para mejorar performance.
  12. Usar GROUP BYORDER BY, or DISTINCT en querys solo cuando sea absolutamente necesario
  13. 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.

Hasta el próximo post!!

Deja un comentario