Elección de los tipos de datos adecuados
SQL Server ofrece una amplia variedad de tipos de datos y su elección puede afectar significativamente al rendimiento. Aunque SQL Server puede convertir automáticamente algunos tipos de datos (conocidos como "conversión implícita", este proceso puede ser costoso y afectar negativamente a los planes de consulta. La alternativa es la conversión explícita, donde se usa la función CAST o CONVERT en su código para forzar una conversión de tipos de datos.
Además, elegir tipos de datos que sean mayores de lo necesario puede dar lugar a un espacio desperdiciado y requerir que se lean más páginas. Es fundamental seleccionar los tipos de datos adecuados para los datos, ya que esto reducirá el almacenamiento total necesario para la base de datos y mejorará el rendimiento de las consultas.
Nota:
En algunos casos, las conversiones no son posibles en absoluto. Por ejemplo, una fecha no se puede convertir a un bit. Las conversiones pueden afectar negativamente al rendimiento de las consultas al provocar exámenes de índice en los que las búsquedas habrían sido posibles y una sobrecarga adicional de CPU de la propia conversión.
La imagen siguiente indica en qué casos SQL Server puede realizar una conversión implícita y, en qué casos, debe convertir explícitamente tipos de datos en el código.
SQL Server proporciona varios tipos de datos proporcionados por el sistema que se pueden usar en las tablas y consultas. Además, SQL Server permite la creación de tipos de datos definidos por el usuario mediante T-SQL o .NET Framework.