← Back to PostgreSQL Course | Chapter 10: Advanced Features | Lesson 2 of 7

Materialized Views क्या हैं

एक materialized view query result disk पर store करता है ताकि expensive queries fast हों, और आप ज़रूरत पड़ने पर इसे refresh करते हैं।

In this page:

  1. Materialized Views
Syntax
sql
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

bash
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. #}
आम गलतियां
  1. automatic refreshes की उम्मीद करना
  2. busy systems पर बिना CONCURRENTLY के refresh करना
  3. 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:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.