El rendimiento de una aplicación está determinado por varios factores diferentes. Uno de esos factores que puede afectar significativamente el rendimiento es el tiempo que SQL Server tarda en procesar sus declaraciones T-SQL. En este artículo, discutiremos algunas mejores prácticas de codificación T-SQL que pueden ayudar a optimizar los recursos de SQL Server y mejorar el rendimiento.
Nombrar explícitamente las columnas en sus declaraciones SELECT
Cuando escriba declaraciones SELECT, no es una buena práctica utilizar la nomenclatura de asterisco (*) para devolver todas las columnas de una tabla. En su lugar, es mejor nombrar explícitamente las columnas que necesita. Por ejemplo:
SELECT ID, Descripción, FechaModificación FROM MiTabla;
Al nombrar explícitamente las columnas, está optimizando la cantidad de trabajo que SQL Server necesita hacer para recopilar los datos requeridos. Esto también minimiza la cantidad de tráfico de red necesario para enviar los datos a su aplicación. Además, nombrar explícitamente las columnas aísla su aplicación de posibles fallos relacionados con cambios en el esquema de la base de datos.
Identificar los nombres de las columnas en sus declaraciones INSERT
Al igual que con las declaraciones SELECT, es importante identificar explícitamente los nombres de las columnas al escribir declaraciones INSERT. Por ejemplo:
INSERT INTO MiTabla(PrimerCódigo, SegundoCódigo, TercerCódigo)
VALUES ('A', 'B', 'C');
Al hacer esto, su declaración INSERT seguirá funcionando incluso si alguien agrega una nueva columna a la tabla, siempre que la nueva columna tenga un valor predeterminado o permita valores NULL. Esto ayuda a evitar que su código de aplicación se rompa debido a cambios en la estructura de la tabla.
Acelere sus búsquedas mediante la colocación de referencias de comodines
El uso adecuado de las referencias de comodines puede mejorar el rendimiento de sus consultas. Al utilizar el operador LIKE con comodines, considere colocar los caracteres de comodín antes para permitir que SQL Server utilice una operación de búsqueda de índice en lugar de una operación de exploración. Por ejemplo:
SELECT DISTINCT Apellido FROM Persona.Contacto WHERE Apellido LIKE 'A%sen';
Al colocar el carácter “A” delante del signo de porcentaje (%), SQL Server puede utilizar una operación de búsqueda de índice para resolver la consulta de manera más eficiente. Esto puede acelerar significativamente sus búsquedas, especialmente cuando se trabaja con conjuntos de datos grandes.
Solo use DISTINCT si es necesario
La cláusula DISTINCT en una declaración SELECT elimina los registros duplicados del conjunto de resultados. Sin embargo, requiere una operación adicional de ORDENAMIENTO, lo cual puede afectar el rendimiento. Si ya sabe que su conjunto de resultados no contendrá duplicados, es mejor omitir la cláusula DISTINCT.
Solo use UNION si es necesario
La cláusula UNION elimina los registros duplicados entre dos conjuntos, pero también requiere una operación de ORDENAMIENTO. Si sabe que ninguno de los conjuntos contiene registros duplicados, es mejor utilizar el operador UNION ALL, que no elimina duplicados y, por lo tanto, requiere menos procesamiento.
Al seguir estas mejores prácticas de codificación T-SQL, puede optimizar los recursos de SQL Server y mejorar el rendimiento de sus consultas. Estas prácticas ayudan a minimizar la CPU, E/S y el ancho de banda de la red, lo que resulta en una ejecución de código más rápida y eficiente.
Manténgase atento a más artículos de esta serie donde discutiremos mejores prácticas adicionales de codificación T-SQL.
¡Gracias por leer!