[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-materialized-view::en":3,"gloss-cluster-materialized-view::en":23,"gloss-next-materialized-view::en":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"materialized-view","data-infra","Materialized View","A materialized view is a database object that stores the precomputed result of a query on disk, rather than recalculating it every time you read it. A normal (virtual) view runs its underlying query fresh on each access; a materialized view saves the answer so subsequent reads are fast — you're trading storage and freshness for query speed.\n\nFor SaaS builders, materialized views are a pragmatic way to speed up expensive dashboards, aggregations, and reports without adding a whole caching layer. Instead of summing millions of rows on every page load, you query a small precomputed table.\n\nThe catch is staleness: the stored result only reflects the data as of the last refresh. You must decide how to refresh — on a schedule, on demand, or incrementally as base data changes. Postgres supports REFRESH MATERIALIZED VIEW (with a CONCURRENTLY option to avoid locking reads); warehouses like Snowflake and BigQuery offer auto-refreshing variants. Rule of thumb: reach for one when reads vastly outnumber writes and users tolerate slightly delayed numbers.","A materialized view stores a query's precomputed result on disk instead of recalculating it on every read — you trade storage and freshness for speed.",null,[11,14,17,20],{"slug":12,"name":13},"cache","Cache",{"slug":15,"name":16},"columnar-storage","Columnar Storage",{"slug":18,"name":19},"data-warehouse","Data Warehouse",{"slug":21,"name":22},"olap","OLAP (Online Analytical Processing)",[24,28,31,34,37,41,42,45,48,51,55,56],{"slug":25,"category":5,"name":26,"updated_at":27},"acid","ACID","2026-08-24T02:46:37+00:00",{"slug":29,"category":5,"name":30,"updated_at":27},"ann-search","ANN Search",{"slug":32,"category":5,"name":33,"updated_at":27},"backpressure","Backpressure",{"slug":35,"category":5,"name":36,"updated_at":27},"batch-processing","Batch Processing",{"slug":38,"category":5,"name":39,"updated_at":40},"bm25","BM25","2026-08-24T02:46:38+00:00",{"slug":12,"category":5,"name":13,"updated_at":27},{"slug":43,"category":5,"name":44,"updated_at":27},"cap-theorem","CAP Theorem",{"slug":46,"category":5,"name":47,"updated_at":27},"change-data-capture","Change Data Capture (CDC)",{"slug":49,"category":5,"name":50,"updated_at":27},"chroma","Chroma",{"slug":52,"category":5,"name":53,"updated_at":54},"chunk-overlap","Chunk Overlap","2026-08-24T03:30:02+00:00",{"slug":15,"category":5,"name":16,"updated_at":27},{"slug":57,"category":5,"name":58,"updated_at":27},"connection-pooling","Connection Pooling"]