การสร้างและรีเฟรช Materialized View
ไวยากรณ์สำหรับสร้าง materialized view และ non-materialized view มีความคล้ายคลึงกัน เนื่องจากทั้งคู่ถูกกำหนดด้วยคิวรี ความแตกต่างสำคัญประการหนึ่งคือ materialized view สามารถรีเฟรชได้ ในขณะที่ non-materialized view ไม่มีแนวคิดนี้ การรู้วิธีรีเฟรช materialized view เป็นสิ่งสำคัญ มิฉะนั้น view จะยังคงแสดงข้อมูลเฉพาะ ณ เวลาที่สร้าง view นั้นขึ้นมา
ในแบบฝึกหัดนี้ จะสร้าง materialized view จากตาราง genres จากนั้นจะมีการแทรกระเบียนใหม่ลงใน genres เพื่อให้แน่ใจว่า view มีข้อมูลล่าสุด จึงต้องทำการรีเฟรช
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบฐานข้อมูล
คำแนะนำการฝึกหัด
- สร้าง materialized view ชื่อ
genre_countที่เก็บจำนวน review สำหรับแต่ละ genre - รีเฟรช
genre_countเพื่อให้ view มีข้อมูลที่เป็นปัจจุบัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create a materialized view called genre_count
___ ___ ___ ___ ___
SELECT genre, COUNT(*)
FROM ___
GROUP BY genre;
INSERT INTO genres
VALUES (50000, 'classical');
-- Refresh genre_count
___ ___ ___ ___;
SELECT * FROM genre_count;