首頁 > 資料庫 > mysql教程 > 如何在PostgreSQL中高效建立臨時表?

如何在PostgreSQL中高效建立臨時表?

Patricia Arquette
發布: 2025-01-03 03:45:39
原創
920 人瀏覽過

How to Efficiently Create Temporary Tables in PostgreSQL?

在SQL 中建立臨時表

當嘗試建立基於特定暫存器類型選擇資料的臨時表時,使用者可能會遇到錯誤。要解決這個問題,了解正確的語法及其限制至關重要。

在PostgreSQL 中,可以使用CREATE TEMP TABLE AS 語法建立臨時表:

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;
登入後複製

如果temp_buffers 設定允許,臨時快照並駐紮在資料的靜態快照留在RAM 中。它們是特定於會話的,並在結束時消失,除非使用 ON COMMIT DROP 創建,這會在事務結束時刪除它們。

或者,可以使用 CREATE VIEW。然而,它們的行為和用法與靜態臨時表有很大不同。

雖然 SQL 標準包括用於建立臨時表的

SELECT INTO,但不鼓勵使用它,而建議使用 CREATE TABLE AS 。此外,CREATE TABLE LIKE (...) 僅複製表結構而不複製數據,而 CTE 或子查詢中的派生表為單個查詢中使用臨時數據提供更少的開銷。

以上是如何在PostgreSQL中高效建立臨時表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板