TABLES-Ansicht¶
In dieser Ansicht des Information Schema wird eine Zeile für jede Tabelle und Ansicht in der angegebenen (oder aktuellen) Datenbank angezeigt, einschließlich der Ansichten im INFORMATION_SCHEMA-Schema selbst.
- Siehe auch:
Spalten¶
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
TABLE_CATALOG |
TEXT |
Datenbank, zu der die Tabelle gehört. |
TABLE_SCHEMA |
TEXT |
Schema, zu dem die Tabelle gehört. |
TABLE_NAME |
TEXT |
Name der Tabelle. |
TABLE_OWNER |
TEXT |
Name der Rolle, der die Tabelle gehört. |
TABLE_TYPE |
TEXT |
Gibt den Tabellentyp an. Gültige Werte sind |
IS_TRANSIENT |
TEXT |
Gibt an, ob es sich um eine transiente Tabelle handelt. |
CLUSTERING_KEY |
TEXT |
Gruppierungsschlüssel für die Tabelle. |
ROW_COUNT |
NUMBER |
Anzahl der Zeilen in der Tabelle. |
BYTES |
NUMBER |
Anzahl der Bytes, auf die bei einem Scan der Tabelle zugegriffen wird. |
RETENTION_TIME |
NUMBER |
Anzahl der Tage, während der historische Daten für Time Travel aufbewahrt werden. |
SELF_REFERENCING_COLUMN_NAME |
TEXT |
Nicht anwendbar für Snowflake. |
REFERENCE_GENERATION |
TEXT |
Nicht anwendbar für Snowflake. |
USER_DEFINED_TYPE_CATALOG |
TEXT |
Nicht anwendbar für Snowflake. |
USER_DEFINED_TYPE_SCHEMA |
TEXT |
Nicht anwendbar für Snowflake. |
USER_DEFINED_TYPE_NAME |
TEXT |
Nicht anwendbar für Snowflake. |
IS_INSERTABLE_INTO |
TEXT |
Nicht anwendbar für Snowflake. |
IS_TYPED |
TEXT |
Nicht anwendbar für Snowflake. |
COMMIT_ACTION |
TEXT |
Nicht anwendbar für Snowflake. |
CREATED |
TIMESTAMP_LTZ |
Erstellungszeit der Tabelle. |
LAST_ALTERED |
TIMESTAMP_LTZ |
Datum und Uhrzeit der letzten Änderung des Objekts. Siehe Nutzungshinweise. |
LAST_DDL |
TIMESTAMP_LTZ |
Zeitstempel der letzten DDL-Operation, die auf der Tabelle oder Ansicht ausgeführt wurde. Alle unterstützten DDL-Operationen auf der Tabelle bzw. Ansicht aktualisieren dieses Feld:
Alle ALTER TABLE-Operationen führen zur Aktualisierung dieses Feldes, einschließlich des Setzens oder Entfernens eines Tabellenparameters (z. B. COMMENT, DATA_RETENTION_TIME usw.), und zu Änderungen an den Tabellenspalten (ADD/MODIFY/RENAME/DROP). Weitere Informationen dazu finden Sie in den Nutzungshinweisen. |
LAST_DDL_BY |
TEXT |
Der aktuelle Benutzername des Benutzers, der die letzte DDL-Operation ausgeführt hat. Wenn der Benutzer gelöscht wurde, wird Bei gelöschten Benutzern können Sie die |
AUTO_CLUSTERING_ON |
BOOLEAN |
Gibt an, ob das automatische Clustering für die Tabelle aktiviert ist. |
COMMENT |
TEXT |
Kommentar zu dieser Tabelle. |
IS_TEMPORARY |
TEXT |
Gibt an, ob es sich um eine temporäre Tabelle handelt. Gültige Werte sind |
IS_ICEBERG |
TEXT |
Gibt an, ob die Tabelle eine Iceberg-Tabelle ist. Gültige Werte sind |
Nutzungshinweise¶
In der Ansicht werden nur Objekte angezeigt, für die der aktuellen Rolle in der Sitzung Zugriffsrechte erteilt wurden. Die Ansicht berücksichtigt nicht die MANAGE GRANTS-Berechtigung und kann daher weniger Informationen anzeigen als ein SHOW-Befehl, wenn beide von einer Rolle ausgeführt werden, der die MANAGE GRANTS-Berechtigung erteilt wurde.
Dieses Verhalten gilt auch für andere Berechtigungen auf Kontoebene und für Information Schema-Ansichten, für die es einen entsprechenden SHOW-Befehl gibt.
Das Abfragen der sum(bytes) für eine Tabelle stellt nicht die gesamte Speichernutzung dar, da der Betrag keine Verwendung von Time Travel und Fail-safe enthält.
Die Ansicht enthält keine Tabellen, die entfernt wurden. Um entfernte Tabellen anzuzeigen, verwenden Sie stattdessen SHOW TABLES.
Um nur Tabellen in Ihren Abfragen anzuzeigen, führen Sie eine Filterung mit einer WHERE-Klausel aus, z. B.:
... WHERE table_schema != 'INFORMATION_SCHEMA'
Die Spalte LAST_ALTERED wird aktualisiert, wenn die folgenden Operationen auf einem Objekt ausgeführt werden:
DDL-Operationen
DML-Operationen (nur für Tabellen)
Von Snowflake ausgeführte Wartungsoperationen auf Metadaten im Hintergrund.
Bei Ansichten und Tabellen verwenden Sie die Spalte LAST_DDL, um den Zeitpunkt der letzten Änderung an einem Objekt zu erfahren.
Der Wert in der Spalte LAST_DDL wird wie folgt aktualisiert:
Wenn eine Tabelle oder Ansicht erstellt wird, ist der LAST_DDL-Zeitstempel derselbe wie der CREATED-Zeitstempel.
Wenn eine Tabelle oder Ansicht gelöscht wird, ist der LAST_DDL-Zeitstempel derselbe wie der DELETED-Zeitstempel.
Die letzten DDL-Daten sind nicht verfügbar für Operationen, die vor dem Hinzufügen der Spalten stattgefunden haben. Die neuen DDL-Felder enthalten so lange
null
-Werte, bis eine DDL-Operation ausgeführt wird.Bei replizierten Datenbanken werden die Felder LAST_DDL und LAST_DDL_BY nur für Objekte der Primärdatenbank aktualisiert. Nach dem Failover werden die Felder LAST_DDL und LAST_DDL_BY für DDL-Operationen von Tabellen und Ansichten der neu heraufgestuften Primärdatenbank aktualisiert. Diese Felder bleiben bei Objekten der nun Sekundärdatenbank unverändert.
Bei Objekten in Sekundärdatenbanken, die während einer Aktualisierungsoperation neu erstellt wurden, sind diese Felder
null
.
Beispiele¶
Rufen Sie die Größe (in Byte) aller Tabellen in allen Schemas der Datenbank mydatabase
ab:
SELECT TABLE_SCHEMA,SUM(BYTES) FROM mydatabase.information_schema.tables GROUP BY TABLE_SCHEMA;