Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SVV_DISKUSAGE
Amazon Redshift crée la vue DISKUSAGE système SVV _ en joignant les tables STV _ TBL _ PERM et STV _BLOCKLIST. La DISKUSAGE vue SVV _ contient des informations sur l'allocation des données pour les tables d'une base de données.
Utilisez des requêtes agrégées avec SVV _DISKUSAGE, comme le montrent les exemples suivants, pour déterminer le nombre de blocs de disque alloués par base de données, table, tranche ou colonne. Chaque bloc de données utilise 1 Mo. Vous pouvez également utiliser STV_PARTITIONS afin d’afficher des informations de synthèse sur l’utilisation du disque.
SVV_ n'DISKUSAGEest visible que par les superutilisateurs. Pour de plus amples informations, veuillez consulter Visibilité des données dans les tables et vues système.
Note
Cette vue n’est disponible que lors de l’interrogation des clusters alloués.
Colonnes de la table
Nom de la colonne | Type de données | Description |
---|---|---|
db_id | entier | ID de base de données. |
name | character(72) | Nom de la table. |
slice | entier | Tranche de données allouée à la table. |
col | entier | Index de base zéro de la colonne. Trois colonnes masquées sont ajoutées à chaque table que vous créez : INSERT _ XIDXID, DELETE _ et ROW _ID ()OID. Une table avec 3 colonnes définies par l’utilisateur contient 6 colonnes réelles et les colonnes définies par l’utilisateur sont numérotées en interne 0, 1 et 2. Les colonnes INSERT DELETE _ XIDXID, _ et ROW _ID sont respectivement numérotées 3, 4 et 5 dans cet exemple. |
tbl | entier | ID de table. |
blocknum | entier | ID du bloc de données. |
num_values | entier | Nombre de valeurs contenues dans le bloc. |
minvalue | bigint | Valeur minimale contenue dans le bloc. |
maxvalue | bigint | Valeur maximale contenue dans le bloc. |
sb_pos | entier | Identificateur interne de la position du super bloc sur le disque. |
pinned | entier | Indique si le bloc est mis en mémoire dans le cadre du préchargement ou non. 0 = faux ; 1 = vrai. La valeur par défaut est false. |
on_disk | entier | Indique si le bloc est automatiquement stocké sur le disque ou non. 0 = faux ; 1 = vrai. La valeur par défaut est false. |
modifié | entier | Indique si le bloc a été modifié ou non. 0 = faux ; 1 = vrai. La valeur par défaut est false. |
hdr_modified | entier | Indique si l’en-tête de bloc a été modifié ou non. 0 = faux ; 1 = vrai. La valeur par défaut est false. |
unsorted | entier | Indique si un bloc est trié ou non. 0 = faux ; 1 = vrai. La valeur par défaut est true. |
tombstone | entier | Pour utilisation interne. |
preferred_diskno | entier | Numéro de disque sur lequel le bloc doit être, sauf si le disque a échoué. Une fois que le disque a été corrigé, le bloc renvoie sur ce disque. |
temporary | entier | Indique si le bloc contient ou non des données temporaires, comme une table temporaire ou les résultats intermédiaires des requêtes. 0 = faux ; 1 = vrai. La valeur par défaut est false. |
newblock | entier | Indique si un bloc est nouveau (true) ou n’a jamais été validé sur le disque (false). 0 = faux ; 1 = vrai. |
Exemples de requêtes
SVV_ DISKUSAGE contient une ligne par bloc de disque alloué, de sorte qu'une requête qui sélectionne toutes les lignes renvoie potentiellement un très grand nombre de lignes. Nous vous recommandons de n'utiliser que des requêtes agrégées avec SVV _DISKUSAGE.
Renvoie le plus grand nombre de blocs jamais alloués à la colonne 6 du USERS tableau (la EMAIL colonne) :
select db_id, trim(name) as tablename, max(blocknum) from svv_diskusage where name='users' and col=6 group by db_id, name; db_id | tablename | max --------+-----------+----- 175857 | users | 2 (1 row)
La requête suivante renvoie des résultats similaires pour toutes les colonnes d'un grand tableau à 10 colonnes appeléSALESNEW. (Les trois dernières lignes des colonnes 10 à 12 correspondent aux colonnes de métadonnées masquées.)
select db_id, trim(name) as tablename, col, tbl, max(blocknum) from svv_diskusage where name='salesnew' group by db_id, name, col, tbl order by db_id, name, col, tbl; db_id | tablename | col | tbl | max --------+------------+-----+--------+----- 175857 | salesnew | 0 | 187605 | 154 175857 | salesnew | 1 | 187605 | 154 175857 | salesnew | 2 | 187605 | 154 175857 | salesnew | 3 | 187605 | 154 175857 | salesnew | 4 | 187605 | 154 175857 | salesnew | 5 | 187605 | 79 175857 | salesnew | 6 | 187605 | 79 175857 | salesnew | 7 | 187605 | 302 175857 | salesnew | 8 | 187605 | 302 175857 | salesnew | 9 | 187605 | 302 175857 | salesnew | 10 | 187605 | 3 175857 | salesnew | 11 | 187605 | 2 175857 | salesnew | 12 | 187605 | 296 (13 rows)