Utilisation de l'espace disque en tableaux

La meilleure pratique consiste à concevoir vos tables de manière à ce qu'elles n'utilisent que l'espace disque dont vous avez besoin. Par exemple, utilisez le moins de chiffres de précision possible dans les données numériques pour économiser de l'espace et ne fixez pas les tailles contrôlables par l'utilisateur à leurs valeurs maximales lorsque des tailles plus petites sont suffisantes.

Le tableau suivant décrit l'espace disque utilisé par les types de données suivants.
Tableau 1. Type de données Utilisation du disque
Type de données Utilisation
grands nombres entiersINT8) 8 octets
entiersINT4) 4 octets
petits nombres entiersINT2 2 octets
petits entiersINT1 et bools 1 octet
les nombres de plus de 18 chiffres de précision 16 octets
numériques de 10 à 18 chiffres 8 octets
numérique de 9 chiffres ou moins 4 octets
float8s 8 octets
float4s 4 octets
heures avec fuseau horaire et intervalles 12 octets
les heures et les horodatages 8 octets
dates 4 octets
CHAR(16) 16 octets
char(n*) et varchar(n)

Les types de données char de plus de 16 octets sont représentés sur le disque comme s'il s'agissait de types de données varchar de la même taille nominale.

N+2, ou moins, octets, en fonction du contenu réel
char(1) 1 octet
nchar(n*) et nvarchar(n)

Les caractères nchar et nvarchar sont toujours stockés comme s'il s'agissait de nvarchars.

N+2 à (4 * N) + 2
Gardez à l'esprit les caractéristiques suivantes des tableaux IBM Netezza Appliance et IBM Netezza Appliance :
  • Dans toutes les tables, chaque enregistrement comprend également trois champs spéciaux de 8 octets qui représentent un identifiant de ligne, l'identifiant de transaction de la transaction qui a créé la ligne et l'identifiant de transaction de la transaction qui a supprimé la ligne (qui vaut 0 si la ligne n'est pas supprimée). Ces colonnes sont appelées colonnes spéciales ou spéciales.
  • Chaque type de données varchar dont la taille déclarée est supérieure à 16 et dont le contenu réel est un nombre impair d'octets reçoit un octet de remplissage.
  • La plupart des enregistrements comprennent également un en-tête composé d'une longueur (2 octets) et d'un vecteur nulN/8 octets, où N est le nombre de colonnes de l'enregistrement). Le système arrondit la taille de cet en-tête à un multiple de 4 octets. Le seul cas où un enregistrement ne contient pas d'en-tête est celui où il n'y a ni colonne nulle ni colonne de taille variable (types de données varchar et char de plus de 16 octets).
  • Comme chaque enregistrement commence par une limite de 4 octets, arrondissez la taille totale de l'enregistrement en conséquence.
  • La plus petite unité d'allocation d'une tranche de données est une étendue, qui correspond actuellement à 3 Mo d'espace disque. Ce nombre pourrait changer dans les prochaines versions du logiciel.