首頁 >資料庫 >mysql教程 >計算列在 PostgreSQL 中如何運作,舊版本有哪些替代方案?

計算列在 PostgreSQL 中如何運作,舊版本有哪些替代方案?

Patricia Arquette
Patricia Arquette原創
2025-01-21 17:06:14666瀏覽

How Do Computed Columns Work in PostgreSQL, and What Alternatives Exist in Older Versions?

PostgreSQL中的計算列

PostgreSQL支援計算列,也稱為計算列、虛擬列、派生列或產生列,可讓您建立值派生自其他列或表達式的列。

Postgres 12或更高版本中的支援

從12版本開始,PostgreSQL引入了STORED產生列,符合SQL標準,也可以在DB2、MySQL和Oracle等DBMS中找到。

Postgres 11或較舊版本中的模擬

11之前的PostgreSQL版本並不原生支援生成列。但是,可以使用屬性表示法的函數來模擬VIRTUAL產生欄位。此語法類似於虛擬生成列的行為,並提供類似的功能。

替代方案

除了計算列之外,PostgreSQL也提供其他機制來實現類似的結果:

  • 視圖:可以定義視圖以包含計算表達式,但其結果不會物化,必須在每次查詢時計算。
  • 觸發器:觸發器可用於「持久化」計算值,模擬STORED產生列的行為。
  • 物化視圖:在Postgres 9.3中引入的物化視圖允許儲存預計算結果以實現更快的存取。

以上是計算列在 PostgreSQL 中如何運作,舊版本有哪些替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn