Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser les étapes suivantes pour estimer la quantité d’espace nécessaire pour stocker des données dans un tas :
Spécifiez le nombre de lignes qui seront présentes dans le tableau :
Num_Rows = nombre de lignes dans la table
Spécifiez le nombre de colonnes de longueur fixe et de longueur variable et calculez l’espace requis pour leur stockage :
Calculez l’espace occupé par chacun de ces groupes de colonnes dans la ligne de données. La taille d’une colonne dépend du type de données et de la spécification de longueur.
Num_Cols = nombre total de colonnes (longueur fixe et longueur variable)
Fixed_Data_Size = taille totale d’octets de toutes les colonnes de longueur fixe
Num_Variable_Cols = nombre de colonnes de longueur variable
Max_Var_Size = taille maximale de l’octet total de toutes les colonnes de longueur variable
Une partie de la ligne, appelée bitmap de nullité, est réservée pour gérer la nullabilité des colonnes. Calculez sa taille :
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Seule la partie entière de cette expression doit être utilisée. Jetez tout reste.
Calculez la taille des données de longueur variable :
S’il existe des colonnes de longueur variable dans la table, déterminez la quantité d’espace utilisée pour stocker les colonnes dans la ligne :
Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Les octets ajoutés à Max_Var_Size sont destinés au suivi de chaque colonne de longueur variable. Cette formule suppose que toutes les colonnes de longueur variable sont pleines de 100 %. Si vous prévoyez qu’un pourcentage plus petit de l’espace de stockage de colonnes de longueur variable sera utilisé, vous pouvez ajuster la valeur Max_Var_Size par ce pourcentage pour obtenir une estimation plus précise de la taille globale de la table.
Remarque
Vous pouvez combiner
varchar,nvarcharouvarbinarysql_variantdes colonnes qui entraînent une largeur de table définie totale supérieure à 8 060 octets. La longueur de chacune de ces colonnes doit toujours être comprise dans la limite de 8 000 octets pour une colonnevarchar,nvarchar,``varbinary, ousql_variant. Toutefois, leurs largeurs combinées peuvent dépasser la limite de 8 060 octets dans une table.S’il n’existe aucune colonne de longueur variable, définissez Variable_Data_Size sur 0.
Calculez la taille totale des lignes :
= Row_Size + Fixed_Data_Size + Variable_Data_SizeNull_Bitmap + 4
La valeur 4 dans la formule correspond à la surcharge de l'en-tête de la ligne de données.
Calculez le nombre de lignes par page (8096 octets gratuits par page) :
Rows_Per_Page = 8096 / (Row_Size + 2)
Étant donné que les lignes ne s’étendent pas sur les pages, le nombre de lignes par page doit être arrondi à la ligne entière la plus proche. La valeur 2 dans la formule correspond à l’entrée de la ligne dans le tableau d’emplacements de la page.
Calculez le nombre de pages requises pour stocker toutes les lignes :
Nombre_de_Pages = Nombre_de_Lignes / Lignes_par_Page
Le nombre de pages estimées doit être arrondi à la page entière la plus proche.
Calculez la quantité d’espace nécessaire pour stocker les données dans le tas (8192 octets totaux par page) :
Taille du tas (octets) = 8192 x Num_Pages
Ce calcul ne tient pas compte des éléments suivants :
Partitionnement
La surcharge d’espace du partitionnement est minimale, mais complexe à calculer. Il n'est pas nécessaire d'inclure.
Pages d’allocation
Il existe au moins une page IAM utilisée pour suivre les pages allouées à un tas, mais la surcharge d’espace est minimale et il n’existe aucun algorithme pour calculer exactement le nombre de pages IAM utilisées.
Valeurs de l’objet large (LOB)
Algorithme permettant de déterminer exactement la quantité d’espace utilisée pour stocker les types de données LOB
varchar(max),varbinary(max),nvarchar(max),text, ntextxml etimagevaleurs est complexe. Il suffit de calculer la taille moyenne des objets volumineux attendus (LOB) et de l’ajouter à la taille totale de la mémoire.Compression
Vous ne pouvez pas précalculer la taille d’un tas compressé.
Colonnes éparses
Pour plus d’informations sur les besoins en espace des colonnes éparses, consultez Utiliser des colonnes éparses.
Voir aussi
Heaps (tables sans index clusterisé)
Description des index cluster et non cluster
Créer des index cluster
Créer des index non cluster
Estimer la taille d’une table
Estimer la taille d'un index cluster
Estimer la taille d'un index non-cluster
Estimer la taille d'une base de données