Materialized Views là gì? Bí quyết tăng tốc truy vấn dữ liệu cho hệ thống lớn
Last updated: March 15, 2026 Xem trên toàn màn hình
- 01 May 2021
Unit Test là gì? 53/423 - 01 Feb 2023
Information Radiator là gì? 33/865 - 30 Aug 2024
Friction points (điểm ma sát) là gì? 33/143 - 29 May 2022
Templafy là gì? Tại sao nói Templafy là nền tảng tài liệu thế hệ mới? 27/446 - 03 May 2019
Business Rule là gì? 27/1233 - 04 Mar 2025
So sánh các giải pháp Sales Loft, Power BI và Salesforce 25/113 - 29 Jul 2023
Giải mã 10 "Pain Points" của Big Data: Khi "mỏ vàng dữ liệu" vẫn không thể khai thác 24/78 - 30 Aug 2022
Kỹ thuật "Hollow" là gì? 24/113 - 30 Apr 2024
Web3 là gì? Tại sao nói Web3 là nền tảng để Blockchain thay đổi Internet? 23/96 - 01 Nov 2022
MVF (Minimum Viable Features): Tối ưu tính năng trong giới hạn nguồn lực 23/106 - 19 Sep 2025
Luật chống ôm đồm (WIP limits): Làm ít hơn và chất hơn 21/63 - 13 Aug 2024
Cognitive friction (ma sát nhận thức) là gì? 19/64 - 13 Feb 2024
"Weighted milestone" là gì? 18/22 - 08 Aug 2023
"Denormalized Table" là gì? 18/218 - 02 Aug 2022
BVP (Billable Viable Product) là gì? 18/108 - 13 Sep 2025
Vanity Metrics: Follower tăng vọt nhưng doanh thu đứng yên 14/71 - 11 May 2025
Từ điển kỹ thuật trong quản lý tài nguyên truy cập hệ thống (System Access Resource Management) 14/141 - 19 Feb 2025
“Tribal knowledge” là gì? 7/8 - 11 Mar 2024
Các trục liên thông LGSP và NGSP là gì? Lợi ích của LGSP và NGSP? 5/13 - 11 Sep 2025
📚 Từ điển thuật ngữ về DevOps 5/59
Trong nhiều hệ thống dữ liệu lớn, đặc biệt là BI, Data Warehouse hoặc các hệ thống báo cáo, một truy vấn có thể phải join nhiều bảng và xử lý hàng triệu dòng dữ liệu.
Khi người dùng mở dashboard hoặc chạy báo cáo, việc chờ 10–20 giây để hệ thống tính toán lại toàn bộ dữ liệu là điều không hiếm gặp.
Đó là lý do Materialized Views ra đời.
Materialized Views là một kỹ thuật giúp lưu sẵn kết quả của một truy vấn phức tạp, để hệ thống có thể đọc dữ liệu nhanh hơn thay vì phải tính toán lại từ đầu mỗi lần.
Nói đơn giản:
Materialized View là gì?
Materialized View là một bảng dữ liệu được tạo ra từ kết quả của một truy vấn SQL, và kết quả này được lưu trữ vật lý trong database.
Khác với view thông thường (chỉ lưu câu query), materialized view sẽ:
- Chạy truy vấn trước
- Lưu kết quả vào bảng
- Cho phép truy vấn trực tiếp vào dữ liệu đã được tính sẵn
Nhờ đó, hệ thống không cần thực thi lại các phép join hoặc aggregation phức tạp mỗi lần truy vấn.
Giả sử hệ thống có các bảng:
Customers
Products
Nếu bạn muốn tạo báo cáo: Doanh thu theo khách hàng và sản phẩm
Truy vấn có thể như sau:
SELECT c.name, p.product_name, SUM(o.amount)FROM Orders o
JOIN Customers c ON o.customer_id = c.id
JOIN Products p ON o.product_id = p.id
GROUP BY c.name, p.product_name
Nếu bảng Orders có 10 triệu dòng, query này có thể rất chậm.
Giải pháp là tạo Materialized View:
CREATE MATERIALIZED VIEW sales_summary ASSELECT c.name, p.product_name, SUM(o.amount)
...
Sau đó khi cần báo cáo:
SELECT * FROM sales_summaryDatabase chỉ đọc dữ liệu đã được lưu sẵn → tốc độ nhanh hơn rất nhiều.
Sự khác nhau giữa View và Materialized View
| Tiêu chí | View | Materialized View |
|---|---|---|
| Lưu dữ liệu | Không | Có |
| Khi query | Chạy lại query | Đọc dữ liệu đã tính |
| Tốc độ | Chậm hơn | Nhanh hơn |
| Độ mới của dữ liệu | Real-time | Có thể bị trễ |
View chỉ là logic query, còn Materialized View là dữ liệu đã được tính sẵn.
Khi nào nên dùng Materialized View?
Materialized View thường được dùng trong các trường hợp:
1. Hệ thống báo cáo lớn
Ví dụ:
- Dashboard BI
- Báo cáo doanh thu
- Phân tích dữ liệu
Những truy vấn này thường:
- join nhiều bảng
- aggregate dữ liệu lớn
2. Data Warehouse
Trong các hệ thống kho dữ liệu, materialized view giúp tăng tốc truy vấn phân tích và cải thiện hiệu suất báo cáo.
3. Dashboard cần phản hồi nhanh
Ví dụ:
- Dashboard điều hành
- KPI realtime gần đúng
- Báo cáo tài chính
Nhược điểm của Materialized View
Dù rất mạnh, materialized view cũng có một số trade-off:
1. Dữ liệu không real-time
Vì dữ liệu đã được tính sẵn nên phải refresh định kỳ.
Ví dụ:
- refresh mỗi 5 phút
- refresh mỗi giờ
- refresh mỗi ngày
2. Tốn thêm dung lượng
Materialized view lưu bản sao dữ liệu, nên database sẽ cần thêm storage.
3. Chi phí maintenance
Khi dữ liệu gốc thay đổi, hệ thống phải update lại materialized view.
Materialized View trong kiến trúc hệ thống hiện đại
Trong các hệ thống dữ liệu hiện nay, materialized view thường xuất hiện trong:
- Data Warehouse
- Data Lakehouse
- BI Platform
- Analytics System
Đặc biệt khi kết hợp với:
- ETL pipeline
- Batch processing
- Data mart
Materialized view trở thành một lớp cache dữ liệu cực kỳ hiệu quả cho các truy vấn phân tích.
Kết luận
Materialized View là một kỹ thuật quan trọng giúp tăng tốc truy vấn dữ liệu bằng cách lưu sẵn kết quả của các truy vấn phức tạp.
Tóm tắt nhanh:
- View = query ảo
- Materialized View = kết quả query đã lưu
Nếu hệ thống của bạn có:
- báo cáo chậm
- dashboard xử lý dữ liệu lớn
- nhiều query aggregation
thì Materialized View có thể là một giải pháp tối ưu hiệu năng rất hiệu quả.









Link copied!
Mới cập nhật