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

Lajur Pengiraan PostgreSQL: Apakah Alternatif Wujud?

Susan Sarandon
Lepaskan: 2025-01-21 17:22:09
asal
270 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk
<code class="language-sql">SELECT tbl.*, col(tbl) FROM tbl;</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan