2
รีเฟรชมุมมอง materalized ที่เพิ่มขึ้นใน PostgreSQL
เป็นไปได้ไหมที่จะรีเฟรชมุมมองที่เป็นรูปธรรมเพิ่มขึ้นใน PostgreSQL เช่นสำหรับข้อมูลที่ใหม่หรือมีการเปลี่ยนแปลงเท่านั้น พิจารณาตารางนี้และมุมมองที่ปรากฏขึ้น: CREATE TABLE graph ( xaxis integer NOT NULL, value integer NOT NULL, ); CREATE MATERIALIZED VIEW graph_avg AS SELECT xaxis, AVG(value) FROM graph GROUP BY xaxis มีการเพิ่มค่าใหม่เป็นระยะgraphหรือปรับปรุงค่าที่มีอยู่เป็นระยะ ฉันต้องการรีเฟรชมุมมองgraph_avgทุกสองสามชั่วโมงเฉพาะค่าที่อัปเดต อย่างไรก็ตามใน PostgreSQL 9.3 ตารางทั้งหมดจะถูกรีเฟรช ใช้เวลาค่อนข้างนาน เวอร์ชันถัดไป 9.4 อนุญาตให้CONCURRENTอัพเดต แต่ยังคงรีเฟรชมุมมองทั้งหมด ด้วยจำนวนแถว 100 ล้านแถวซึ่งใช้เวลาไม่กี่นาที เป็นวิธีที่ดีในการติดตามการปรับปรุงและค่าใหม่และฟื้นฟูมุมมองเพียงบางส่วนเท่านั้น?