Views vs Materialized Views
ทั้งคู่เป็น Virtual Table จากคำสั่ง SELECT แตกต่างกันที่การจัดเก็บผลลัพธ์และการ Refresh
| ลำดับ | หัวข้อ | Views | Materialized Views |
|---|---|---|---|
| 1 | นิยาม | Virtual copy, ไม่เก็บผลลัพธ์ เก็บแค่ Query | Virtual copy, เก็บผลลัพธ์จริงลง Disk/Table |
| 2 | Storage | เก็บแค่ Query Expression | เก็บทั้ง Query และ Result Rows |
| 3 | Query Execution | รันทุกครั้งที่ SELECT → ข้อมูลเสมอ Up-to-date | ไม่รันทุกครั้ง ใช้ข้อมูลที่ Cache ไว้ → อาจเก่า |
| 4 | Cost | ไม่มี Storage/Update Cost | มี Storage Cost และ Update/Refresh Cost |
| 5 | Architecture | Fixed Architecture, มี SQL Standard | Generic Architecture, ไม่มี Standard เป็น Extension ของแต่ละ DB |
| 6 | Use Case | เข้าถึงน้อย, ข้อมูลเปลี่ยนบ่อย | เข้าถึงบ่อย, ข้อมูลเปลี่ยนน้อย |
สรุป: ใช้ View เมื่อต้องการข้อมูล Real-time และ Query ไม่ซับซ้อน ใช้ Materialized View เมื่อ Query ซับซ้อน/Heavy และข้อมูลไม่เปลี่ยนบ่อย (Data Warehousing, Reporting)