Update materialized_view_postgresql.MD

This commit is contained in:
mbahsomo 2025-12-31 13:31:57 +00:00
parent 007407631f
commit 2471d39134
1 changed files with 76 additions and 0 deletions

View File

@ -1,3 +1,79 @@
Ya, **PostgreSQL memiliki fitur *Materialized View***.
### Apa itu Materialized View di PostgreSQL?
**Materialized View** adalah objek database yang **menyimpan hasil query secara fisik** (seperti tabel), bukan menjalankan ulang query setiap kali dipanggil seperti *VIEW* biasa.
### Perbedaan VIEW vs MATERIALIZED VIEW
| Aspek | VIEW | MATERIALIZED VIEW |
| ---------------- | -------------------------- | ----------------- |
| Penyimpanan data | Tidak disimpan | Disimpan fisik |
| Kecepatan query | Lebih lambat (query ulang) | Lebih cepat |
| Update otomatis | Selalu real-time | ❌ Tidak otomatis |
| Perlu refresh | ❌ | ✅ Ya |
---
### Contoh penggunaan
```sql
CREATE MATERIALIZED VIEW laporan_penjualan AS
SELECT
tanggal,
SUM(total) AS total_penjualan
FROM penjualan
GROUP BY tanggal;
```
Mengambil data:
```sql
SELECT * FROM laporan_penjualan;
```
---
### Refresh data (WAJIB agar update)
```sql
REFRESH MATERIALIZED VIEW laporan_penjualan;
```
Tanpa mengunci (PostgreSQL ≥ 9.4, wajib ada index UNIQUE):
```sql
REFRESH MATERIALIZED VIEW CONCURRENTLY laporan_penjualan;
```
---
### Kapan sebaiknya pakai Materialized View?
✅ Query berat (JOIN besar, agregasi)
✅ Data laporan / dashboard
✅ Data tidak harus real-time
❌ Data yang sering berubah dan harus langsung update
---
### Kekurangan
* Data bisa **tidak up-to-date**
* Perlu mekanisme **refresh manual / cron**
* Memakai **storage tambahan**
---
Kalau mau, saya bisa jelaskan:
* 🔁 cara auto-refresh pakai **cron / pg_cron**
* ⚡ strategi performa (index materialized view)
* 🆚 kapan pilih materialized view vs table biasa
Tinggal bilang mau fokus ke yang mana.
Berikut **strategi performa Materialized View di PostgreSQL (fokus INDEX & refresh)** yang sudah terbukti efektif untuk kasus laporan & query berat. Berikut **strategi performa Materialized View di PostgreSQL (fokus INDEX & refresh)** yang sudah terbukti efektif untuk kasus laporan & query berat.
--- ---