Choisir les types de données appropriés
SQL Server offre un large éventail de types de données à partir duquel opérer votre choix, choix qui peut affecter le niveau de performance de nombreuses façons. Alors que SQL Server peut convertir automatiquement certains types de données (c’est ce que nous appelons une « conversion implicite »), la conversion peut être coûteuse et avoir également un impact négatif sur les plans de requête. L’alternative est une conversion explicite, selon laquelle vous utilisez la fonction CAST ou CONVERT dans votre code pour forcer une conversion de type de données.
Par ailleurs, choisir des types de données qui sont beaucoup plus volumineux qu’utiles peut entraîner un gaspillage d’espace et exiger plus de pages qu’il n’est nécessaire d’en lire. Il est important de choisir les types de données appropriés pour un ensemble de données déterminé, ce qui réduira le stockage total exigé pour la base de données et améliorera le niveau de performance des requêtes exécutées.
Notes
Dans certains cas, aucune conversion n’est possible. Par exemple, une date ne peut pas être convertie en bit. Les conversions peuvent avoir un impact négatif sur les performances des requêtes, en déclenchant des analyses d’index là où des recherches auraient été possibles, et une surcharge du processeur supplémentaire à partir de la conversion elle-même.
L’image ci-dessous précise dans quels cas SQL Server peut effectuer une conversion implicite et dans quels cas vous devez convertir explicitement les types de données dans votre code.
SQL Server offre un ensemble de types de données fournis par le système pour toutes les données utilisables dans vos tables et vos requêtes. SQL Server permet de créer des types de données définis par l’utilisateur dans T-SQL ou le .NET Framework.