SVV_DISKUSAGE - Amazon Redshift

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 système SVV_DISKUSAGE en joignant les tables STV_TBL_PERM et STV_BLOCKLIST. La vue SVV_DISKUSAGE contient des informations sur l’allocation des données pour les tables d’une base de données.

Utilisez les requêtes d’agrégation avec SVV_DISKUSAGE, comme dans les exemples suivants, afin de déterminer le nombre de blocs de disque alloués par base de données, table, coupe 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_DISKUSAGE n’est visible que par les super-utilisateurs. Pour plus d’informations, consultez 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. Chaque table que vous créez possède trois colonnes masquées qui lui sont ajoutées : INSERT_XID, DELETE_XID 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_XID, DELETE_XID et ROW_ID sont numérotés respectivement 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 contenant une ligne par bloc de disque alloué, une requête qui sélectionne toutes les lignes renvoie potentiellement un très grand nombre de lignes. Nous recommandons d’utiliser uniquement les requêtes d’agrégation avec SVV_DISKUSAGE.

renvoiez le plus grand nombre de blocs jamais alloués à la colonne 6 de la table USERS (colonne EMAIL) :

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 semblables pour toutes les colonnes de la grande table à 10 colonnes appelée 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)