PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tampilan Terwujud PostgreSQL

Tampilan terwujud memungkinkan Anda untuk menyimpan hasil kueri kompleks secara fisik dan memperbaruinya secara berkala. Jadi mereka berguna dalam kasus di mana Anda memerlukan akses data cepat untuk pelaporan dan intelijen bisnis. Berikut cara membuat tampilan terwujud di PostgreSQL.


Tampilan PostgreSQL vs Tampilan Terwujud

Tampilan terwujud mirip dengan tampilan PostgreSQL yang memungkinkan Anda menyimpan kueri SQL untuk memanggilnya nanti. Namun, tampilan PostgreSQL memungkinkan Anda untuk menyimpan hanya kueri SQL dan bukan hasilnya. Tampilan terwujud memungkinkan Anda untuk menyimpan hasil kueri secara fisik, dan memperbaruinya secara berkala. Hasilnya, tampilan yang terwujud lebih cepat daripada tampilan PostgreSQL.

Bonus Baca :Cara Mendapatkan Baris Terakhir Per Grup di PostgreSQL


Cara Membuat Tampilan Terwujud di PostgreSQL

Anda dapat membuat tampilan termaterialisasi di PostgreSQL menggunakan pernyataan CREATE MATERIALIZED VIEW seperti yang ditunjukkan di bawah ini.

CREATE MATERIALIZED VIEW view_name
AS query 
WITH [NO] DATA;

Dalam pernyataan di atas, Anda perlu menyebutkan view_name serta kueri yang hasilnya ingin Anda simpan dalam tampilan terwujud.

Terakhir, Anda juga dapat menentukan opsi WITH DATA jika Anda ingin memuat data ke tampilan pada saat pembuatannya. Jika Anda menyebutkan TANPA DATA, tampilan akan ditandai sebagai tidak dapat dibaca dan Anda tidak akan dapat meminta data dari tampilan hingga Anda memuat data ke dalamnya.

Bonus Baca :Fungsi Buat PostgreSQL


Refresh Tampilan Terwujud PostgreSQL

Anda dapat memuat data ke tampilan terwujud menggunakan pernyataan REFRESH MATERIALIZED VIEW seperti yang ditunjukkan

REFRESH MATERIALIZED VIEW view_name

Anda juga dapat menggunakan pernyataan di atas untuk menyegarkan tampilan yang terwujud.

Harap dicatat, pernyataan REFRESH MATERIALIZED VIEW mengunci data kueri sehingga Anda tidak dapat menjalankan kueri terhadapnya. Anda dapat menghindarinya menggunakan opsi CONCURRENTLY

REFRESH MATERIALIZED VIEW CONCURRENTLY view_name

Dalam hal ini, PostgreSQL membuat tampilan sementara, membandingkannya dengan yang asli dan membuat penyisipan, pembaruan, dan penghapusan yang diperlukan. Akibatnya, opsi CONCURRENTLY hanya tersedia untuk tampilan terwujud yang memiliki indeks unik.

Untuk menyegarkan tampilan yang terwujud secara otomatis secara berkala, Anda dapat menjalankan REFRESH MATERIALIZED VIEW melalui skrip otomatis.

Bonus Baca :PostgreSQL Buat Skema


Hapus tampilan yang terwujud

Anda dapat menghapus tampilan material menggunakan pernyataan DROP MATERIALIZED VIEW.

DROP MATERIALIZED VIEW view_name


Contoh Tampilan Terwujud

Mari kita lihat beberapa contoh tampilan yang terwujud.

Inilah kueri untuk membuat tampilan terwujud yang disebut sample_view

postgres=# create materialized view sample_view
           as select * from sales
           with no data;

Dalam kueri di atas kami telah menyebutkan opsi TANPA DATA sehingga tampilan tidak akan memiliki data apa pun dan akan memberikan kesalahan saat kami mencoba mengkuerinya.

postgres=# select * from sample_view;
ERROR: materialized view "sample_view" has not been populated
HINT: Use the REFRESH MATERIALIZED VIEW command.

Sekarang kita akan menyegarkan tampilan untuk memuat data ke dalamnya dan kemudian menjalankan kueri di atas terhadap tampilan kita.

postgres=# refresh materialized view sample_view;
REFRESH MATERIALIZED VIEW

postgres=# select * from sample_view;
order_date | sale
------------+------
2020-04-01 | 210
2020-04-02 | 125
2020-04-03 | 150
2020-04-04 | 230
2020-04-05 | 200
2020-04-10 | 220
2020-04-06 | 250
2020-04-07 | 215
2020-04-08 | 300
2020-04-09 | 250

Seperti yang Anda lihat di atas, ketika kami menjalankan kueri kami lagi, kami mendapatkan hasilnya.

Mudah-mudahan, sekarang Anda dapat dengan mudah membuat tampilan material untuk database Anda.

Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari Ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle ke PostgreSQL:sintaks gabungan luar ANSI di PostgreSQL

  2. Menggabungkan (x,y) awan titik koordinat di PostgreSQL

  3. Pencarian Teks Lengkap PostgreSQL dan Kebingungan Trigram

  4. KESALAHAN:tidak ada batasan unik yang cocok dengan kunci yang diberikan untuk bilah tabel yang direferensikan

  5. Postgresql json menyukai kueri