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

ความแตกต่างระหว่างมุมมองและมุมมองที่เป็นรูปธรรมในSQL


ดังที่เราทราบดีว่าองค์ประกอบหลักของฐานข้อมูลใดๆ คือตารางของมัน เพื่อที่จะกำหนดความสามารถในการเข้าถึงข้อมูลได้เอง มีแนวคิดของ Views กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าด้วยความช่วยเหลือของ Views ของตาราง เราสามารถจำกัดผู้ใช้คนใดก็ได้ให้เข้าถึงเฉพาะข้อมูลนั้น ซึ่งเขาน่าจะเข้าถึงได้ ตอนนี้ บนพื้นฐานของลักษณะและคุณสมบัติของมุมมอง เราสามารถแยกแยะระหว่างมุมมองและมุมมองที่เป็นรูปธรรม

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างจำนวนการดูและมุมมองที่เป็นรูปธรรม

ซีเนียร์ เลขที่ คีย์ จำนวนการดู มุมมองที่มีเนื้อหา
1 คำจำกัดความ มุมมองทางเทคนิคของตารางเป็นสำเนาเสมือนเชิงตรรกะของตารางที่สร้างโดย "แบบสอบถามแบบเลือก" แต่ผลลัพธ์จะไม่ถูกจัดเก็บไว้ที่ใดในดิสก์ และทุกครั้งที่เราจำเป็นต้องเริ่มการสืบค้นเมื่อเราต้องการข้อมูล ดังนั้นเราจึงได้รับเสมอ ข้อมูลล่าสุดหรือข้อมูลล่าสุดจากตารางเดิม ในทางกลับกัน มุมมองที่เป็นรูปธรรมยังเป็นสำเนาเสมือนเชิงตรรกะของข้อมูลที่ขับเคลื่อนโดยคิวรีแบบใช้เลือกข้อมูล แต่ผลลัพธ์ของการสืบค้นจะถูกเก็บไว้ในตารางหรือดิสก์
2 ที่เก็บข้อมูล ใน Views ผลลัพธ์ของ tuples ของนิพจน์เคียวรีจะไม่ถูกจัดเก็บในดิสก์ มีเพียงนิพจน์เคียวรีเท่านั้นที่เก็บไว้ในดิสก์ ในทางกลับกัน ในกรณีที่ Materialized ดูทั้งนิพจน์เคียวรีและ tuples ที่เป็นผลลัพธ์ของคิวรีจะถูกเก็บไว้ในดิสก์
3 การดำเนินการค้นหา ดังที่กล่าวไว้ข้างต้นในกรณีที่ Views นิพจน์แบบสอบถามถูกเก็บไว้ในดิสก์และไม่ใช่ผลลัพธ์ดังนั้นนิพจน์แบบสอบถามจึงถูกดำเนินการทุกครั้งที่ผู้ใช้พยายามดึงข้อมูลจากนิพจน์เพื่อให้ผู้ใช้ได้รับค่าที่อัปเดตล่าสุดทุกครั้ง ในทางกลับกัน ในกรณีของ Materialized Views ผลลัพธ์ของเคียวรีจะถูกเก็บไว้ในดิสก์และด้วยเหตุนี้ นิพจน์เคียวรีจึงไม่ถูกดำเนินการทุกครั้งเมื่อผู้ใช้พยายามดึงข้อมูลเพื่อไม่ให้ผู้ใช้ได้รับค่าที่อัปเดตล่าสุด หากมีการเปลี่ยนแปลงในฐานข้อมูล
4 คุ้มค่า เนื่องจาก Views ไม่มีค่าใช้จ่ายพื้นที่เก็บข้อมูลที่เกี่ยวข้อง ดังนั้นจึงไม่มีค่าใช้จ่ายในการอัปเดตที่เกี่ยวข้อง ในทางกลับกัน Materialized Views มีค่าใช้จ่ายในการจัดเก็บที่เกี่ยวข้อง ดังนั้นจึงมีค่าใช้จ่ายในการอัปเดตที่เกี่ยวข้องด้วย
5 การออกแบบ มุมมองใน SQL ได้รับการออกแบบโดยใช้แนวทางสถาปัตยกรรมแบบคงที่ เนื่องจากมีมาตรฐาน SQL ในการกำหนดมุมมอง ในทางกลับกัน ในกรณีที่ Materialized Views ใน SQL ได้รับการออกแบบโดยใช้แนวทางสถาปัตยกรรมทั่วไป ดังนั้นจึงไม่มีมาตรฐาน SQL สำหรับการกำหนด และฟังก์ชันของมันถูกจัดเตรียมโดยระบบฐานข้อมูลบางระบบเป็นส่วนขยาย
6 การใช้งาน โดยทั่วไปจะใช้การดูเมื่อมีการเข้าถึงข้อมูลไม่บ่อยและข้อมูลในตารางจะได้รับการอัปเดตเป็นประจำ ในทางกลับกัน Materialized Views จะใช้เมื่อมีการเข้าถึงข้อมูลบ่อยๆ และข้อมูลในตารางจะไม่ได้รับการอัปเดตบ่อยๆ