Materialized Views क्या हैं
एक materialized view query result disk पर store करता है ताकि expensive queries fast हों, और आप ज़रूरत पड़ने पर इसे refresh करते हैं।
In this page:
Syntax
CREATE MATERIALIZED VIEW view_name AS
SELECT columns FROM table_name;
REFRESH MATERIALIZED VIEW view_name;
Materialized Views
CREATE MATERIALIZED VIEW name AS SELECT ... query एक बार चलाता है और rows रखता है। Reads fast हैं, लेकिन data तब तक stale रहता है जब तक REFRESH MATERIALIZED VIEW न हो।
REFRESH ... CONCURRENTLY readers को block किए बिना refresh करता है और एक unique index चाहिए।
ये बड़ी tables पर dashboards और reports के लिए suit करते हैं।
Note:
REFRESH MATERIALIZED VIEW CONCURRENTLY को view पर एक unique index चाहिए।
उदाहरण: Materialized views
shop=# CREATE MATERIALIZED VIEW daily_sales AS
shop-# SELECT date_trunc('day', created_at) AS day, sum(total) AS revenue FROM orders GROUP BY 1;
SELECT 90
shop=# CREATE UNIQUE INDEX ON daily_sales (day);
shop=# REFRESH MATERIALIZED VIEW CONCURRENTLY daily_sales;
REFRESH MATERIALIZED VIEW
shop=# SELECT * FROM daily_sales ORDER BY day DESC LIMIT 2;
day | revenue
---------------------+---------
2024-03-15 00:00:00 | 1520.00
2024-03-14 00:00:00 | 1834.50
⚠️ Run this in your own terminal or Node.js environment.
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- automatic refreshes की उम्मीद करना
- busy systems पर बिना CONCURRENTLY के refresh करना
- real-time data के लिए इन्हें इस्तेमाल करना
चैप्टर सारांश
- Result disk पर store करता है
- Manually या एक schedule पर refresh होना ज़रूरी है
- CONCURRENTLY blocking avoid करता है
- Heavy reports के लिए great
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: