Rumah >pangkalan data >tutorial mysql >Lajur Pengiraan PostgreSQL: Apakah Alternatif Wujud?

Lajur Pengiraan PostgreSQL: Apakah Alternatif Wujud?

Susan Sarandon
Susan Sarandonasal
2025-01-21 17:22:09303semak imbas

PostgreSQL Computed Columns: What Alternatives Exist?

Lajur dikira PostgreSQL: meneroka alternatif

Pengguna PostgreSQL sering bertanya tentang ketersediaan lajur yang dikira, ciri yang biasa dalam sistem pengurusan pangkalan data lain seperti MS SQL Server. Walaupun PostgreSQL belum lagi menyokong lajur yang dikira secara asli, ia menyediakan pelbagai alternatif untuk mencapai fungsi yang serupa.

Menyimpan lajur yang dijana: PostgreSQL 12 dan kemudian

PostgreSQL 12 memperkenalkan konsep menyimpan lajur yang dijana, yang mematuhi piawaian SQL dan disokong oleh RDBMS lain seperti DB2, MySQL dan Oracle. Lajur ini dibuat menggunakan kata kunci STORED dan dikira apabila data diambil atau dimasukkan.

<code class="language-sql">CREATE TABLE tbl (
  int1    int
, int2    int
, product bigint GENERATED ALWAYS AS (int1 * int2) STORED
);</code>

Lajur yang dijana hampir: PostgreSQL 11 dan lebih awal

Untuk PostgreSQL 11 dan lebih awal, lajur yang dijana maya sebenar tidak disokong. Walau bagaimanapun, pengguna boleh mensimulasikan kelakuannya menggunakan fungsi dengan notasi atribut. Kaedah ini melibatkan penggunaan sintaks tbl.col, yang meniru rupa dan kefungsian lajur yang dijana secara maya.

<code class="language-sql">CREATE FUNCTION col(tbl) ... AS ...  -- 您的计算表达式在此处</code>
<code class="language-sql">SELECT tbl.*, col(tbl) FROM tbl;</code>

Alternatif

Selain kaedah di atas, pengguna PostgreSQL juga boleh mempertimbangkan kaedah lain untuk mencapai fungsi yang serupa:

  • Paparan: Paparan boleh digunakan untuk membuat lajur yang dijana secara maya, membenarkan pengguna memilihnya dalam pertanyaan SELECT *.
  • Indeks ungkapan: Indeks ini boleh dibuat pada fungsi yang mengira nilai terbitan, memberikan faedah prestasi untuk pertanyaan yang melibatkan nilai ini.
  • Materialized View: Materialized view menyimpan hasil pertanyaan, memberikan gambaran data pada titik masa tertentu.
  • Pencetus: Pencetus boleh digunakan untuk mengemas kini atau memasukkan nilai terbitan ke dalam jadual.

Walaupun PostgreSQL mungkin tidak menyokong lajur pengiraan asli pada masa ini, set ciri yang fleksibel dan berkuasa menyediakan pelbagai penyelesaian untuk melaksanakan fungsi yang serupa untuk memenuhi pelbagai keperluan penggunanya.

Atas ialah kandungan terperinci Lajur Pengiraan PostgreSQL: Apakah Alternatif Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn