Temporäre Tabellen in SQL erstellen
Beim Versuch, eine temporäre Tabelle zu erstellen und Daten basierend auf einem bestimmten Registertyp auszuwählen, können bei Benutzern Fehler auftreten. Um dieses Problem zu lösen, ist es wichtig, die richtige Syntax und ihre Einschränkungen zu verstehen.
In PostgreSQL können temporäre Tabellen mit der Syntax CREATE TEMP TABLE AS erstellt werden:
CREATE TEMP TABLE temp1 AS SELECT dataid , register_type , timestamp_localtime , read_value_avg FROM rawdata.egauge WHERE register_type LIKE '%gen%' ORDER BY dataid, timestamp_localtime;
Temporäre Tabellen fungieren als statische Snapshots der Daten und befinden sich im RAM, sofern die temp_buffers-Einstellung dies zulässt. Sie sind sitzungsspezifisch und verschwinden am Ende, sofern sie nicht mit ON COMMIT DROP erstellt wurden, wodurch sie am Ende der Transaktion gelöscht werden.
Alternativ können temporäre Tabellen dynamisch mit CREATE VIEW. Ihr Verhalten und ihre Verwendung unterscheiden sich jedoch erheblich von statischen temporären Tabellen.
Während der SQL-StandardSELECT INTO zum Erstellen temporärer Tabellen enthält, wird von der Verwendung zugunsten von CREATE TABLE AS abgeraten . Darüber hinaus kopiert CREATE TABLE LIKE (...) nur die Tabellenstruktur und keine Daten, während abgeleitete Tabellen in CTEs oder Unterabfragen weniger Overhead für die temporäre Datennutzung innerhalb einer einzelnen Abfrage bieten.
Das obige ist der detaillierte Inhalt vonWie kann man temporäre Tabellen in PostgreSQL effizient erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!