Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ความแตกต่างระหว่าง Views และ Materialized Views ใน SQL

Views vs Materialized Views

ทั้งคู่เป็น Virtual Table จากคำสั่ง SELECT แตกต่างกันที่การจัดเก็บผลลัพธ์และการ Refresh

ลำดับหัวข้อViewsMaterialized Views
1นิยามVirtual copy, ไม่เก็บผลลัพธ์ เก็บแค่ QueryVirtual copy, เก็บผลลัพธ์จริงลง Disk/Table
2Storageเก็บแค่ Query Expressionเก็บทั้ง Query และ Result Rows
3Query Executionรันทุกครั้งที่ SELECT → ข้อมูลเสมอ Up-to-dateไม่รันทุกครั้ง ใช้ข้อมูลที่ Cache ไว้ → อาจเก่า
4Costไม่มี Storage/Update Costมี Storage Cost และ Update/Refresh Cost
5ArchitectureFixed Architecture, มี SQL StandardGeneric Architecture, ไม่มี Standard เป็น Extension ของแต่ละ DB
6Use Caseเข้าถึงน้อย, ข้อมูลเปลี่ยนบ่อยเข้าถึงบ่อย, ข้อมูลเปลี่ยนน้อย

สรุป: ใช้ View เมื่อต้องการข้อมูล Real-time และ Query ไม่ซับซ้อน ใช้ Materialized View เมื่อ Query ซับซ้อน/Heavy และข้อมูลไม่เปลี่ยนบ่อย (Data Warehousing, Reporting)