Share via


Types de table spéciaux

Outre le rôle standard des tables de base définies par l'utilisateur, SQL Server met à votre disposition les types de tables suivants, qui remplissent une fonction particulière dans une base de données :

  • tables partitionnées ;

  • tables temporaires ;

  • tables système.

  • Tableaux larges

Tables partitionnées

Les tables partitionnées sont des tables dont les données sont divisées horizontalement en unités qui peuvent être réparties sur plusieurs groupes de fichiers dans une base de données. Le partitionnement facilite l'administration des tables ou des index volumineux en permettant de consulter ou de gérer des sous-ensembles de données rapidement et efficacement, tout en préservant l'intégrité de l'ensemble de la collection. Dans un scénario de partitionnement, les opérations telles que le chargement de données depuis un système OLTP vers un système OLAP, par exemple, peuvent prendre quelques secondes au lieu de plusieurs minutes ou heures dans les versions antérieures. En outre, les opérations de maintenance réalisées sur les sous-ensembles de données sont effectuées plus efficacement car elles ne ciblent que les données concernées, au lieu de la totalité de la table.

Le partitionnement d'une table est opportun si la table est très volumineuse ou susceptible de le devenir et que l'une des conditions suivantes est vraie :

  • La table contient, ou est amenée à contenir, de nombreuses données utilisées de différentes manières.

  • Les performances des requêtes ou des mises à jour exécutées sur la table ne correspondent pas à vos attentes ou les coûts de maintenance sont excessifs par rapport aux périodes de maintenance prédéfinies.

Les tables partitionnées prennent en charge la totalité des propriétés et des fonctionnalités associées à la conception et à l'interrogation des tables standard, y compris les contraintes, les valeurs par défaut, les valeurs d'identité et d'horodatage, les déclencheurs et les index. Par conséquent, si vous souhaitez implémenter une vue partitionnée qui soit locale à un serveur, vous devez mettre en œuvre une table partitionnée. Pour plus d'informations sur le fonctionnement, la conception et l'implémentation des tables partitionnées, consultez Tables et index partitionnés.

Tables temporaires

Il en existe deux types : local et global. Les tables temporaires locales ne sont visibles que par leurs créateurs pendant une connexion donnée à une instance de SQL Server, de même qu'elles ne sont visibles que par eux seuls lors de leur création ou référencement initial. Les tables temporaires locales sont supprimées une fois l'utilisateur déconnecté de l'instance de SQL Server. Les tables temporaires globales sont visibles par tout utilisateur et toute connexion une fois créées et sont supprimées lorsque tous les utilisateurs qui les référencent se déconnectent de l'instance de SQL Server.

Pour plus d'informations sur les tables temporaires, consultez Notions de base sur la création et la modification d'une table.

Tables système

SQL Server stocke les données qui définissent la configuration du serveur et toutes ses tables dans un ensemble de tables spécifique appelé « tables système ». Les utilisateurs ne peuvent pas directement interroger ou mettre à jour les tables système, sauf par le biais d'une connexion administrateur dédiée (DAC) à utiliser uniquement sous la direction du service clientèle de Microsoft. Pour plus d'informations, consultez Utilisation d'une connexion d'administrateur dédiée. En règle générale, les tables système évoluent au fil des versions de SQL Server. Vous pouvez être amené à réécrire les applications qui référencent directement les tables système avant de pouvoir les mettre à niveau vers une version plus récente de SQL Server ne possédant pas exactement les mêmes tables système. Les informations des tables système sont disponibles via les affichages catalogue. Pour plus d'informations, consultez Tables système (Transact-SQL).

Important

Les tables système du Moteur de base de données SQL Server 2008 ont été implémentées en tant que vues en lecture seule à des fins de compatibilité descendante dans SQL Server 2008. Vous ne pouvez pas utiliser directement les données de ces tables système. Il est recommandé d'accéder aux métadonnées SQL Server à l'aide des affichages catalogue.

Tableaux larges

Un tableau large est un tableau qui a un jeu de colonnes défini. Les tableaux larges utilisent des colonnes fragmentées pour porter à 30 000 le total de colonnes qu'un tableau peut contenir. Le nombre d'index et de statistiques est également porté à 1 000 et à 30 000, respectivement. La taille maximale d'une ligne de tableau large est de 8 019 octets. Par conséquent, la plupart des données dans une ligne particulière doivent avoir la valeur NULL. Pour créer ou modifier un tableau en tableau large, vous ajoutez un jeu de colonnes à la définition du tableau. Le nombre maximal de colonnes non fragmentées plus les colonnes calculées dans un tableau large reste 1 024.

En utilisant des tableaux larges, vous pouvez créer des schémas flexibles dans une application. Vous pouvez ajouter ou supprimer des colonnes toutes les fois que vous le souhaitez. N'oubliez pas que l'utilisation de tableaux larges implique des considérations en termes de performances, telles que le temps d'exécution qui s'allonge et l'augmentation des besoins en mémoire lors de la compilation. Pour plus d'informations, consultez Considérations sur les performances des tables larges.

Voir aussi

Autres ressources