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

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

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

วีดีโอ: ความแตกต่างระหว่างมุมมองและมุมมองที่เป็นรูปธรรม
วีดีโอ: ความแตกต่างของ iPhone 3Gs และ iPhone 4 ... Gyroscope 2024, กรกฎาคม
Anonim

มุมมองเทียบกับมุมมองที่เป็นรูปธรรม

มุมมองและมุมมองที่เป็นรูปธรรม (mviews) เป็นอ็อบเจ็กต์ฐานข้อมูล oracle สองประเภท ออบเจ็กต์ทั้งสองนี้อ้างอิงคิวรีแบบใช้เลือกข้อมูล คิวรีแบบใช้เลือกข้อมูลเหล่านี้ทำหน้าที่เป็นตารางเสมือน โดยปกติมุมมองและ mviews จะอ้างถึงคิวรีแบบใช้เลือกข้อมูลขนาดใหญ่ซึ่งมีชุดของการรวม ดังนั้น ข้อดีหลักประการหนึ่งของมุมมองคือ เราสามารถจัดเก็บคิวรีแบบใช้เลือกข้อมูลที่ซับซ้อนเป็นมุมมองได้ ดังนั้น เราสามารถซ่อนตรรกะที่อยู่เบื้องหลังคิวรีแบบใช้เลือกข้อมูลจากผู้ใช้ปลายทางได้ เมื่อเราต้องการรันคำสั่ง select ที่ซับซ้อน เพียงแค่เราต้องดำเนินการ

เลือกจากชื่อการดู

ดู

ดังที่กล่าวไว้ก่อนหน้านี้ มุมมองคือตารางเสมือน ซึ่งซ่อนคิวรีแบบใช้เลือกข้อมูลคิวรีแบบใช้เลือกข้อมูลเหล่านี้ไม่ได้ดำเนินการล่วงหน้า เมื่อเรารันคำสั่ง select จากมุมมอง มันจะรันคำสั่ง select ที่อยู่ภายในเนื้อหามุมมอง ให้เราถือว่าคำสั่ง select ของ view body เป็นคำสั่งที่ซับซ้อนมาก ดังนั้นเมื่อดำเนินการแล้วจึงต้องใช้เวลาในการดำเนินการ (ค่อนข้างนาน) นอกจากนี้ มุมมองยังใช้พื้นที่ขนาดเล็กมากในการจัดเก็บเอง นั่นเป็นเพราะว่ามีเพียงข้อความสั่งที่เลือกเท่านั้นที่เป็นเนื้อหา

ดูวัสดุ (Mview)

นี่คือมุมมองพิเศษ Mviews ถูกสร้างขึ้นเมื่อเรามีปัญหาด้านประสิทธิภาพกับมุมมอง เมื่อเราสร้าง mview มันรันคิวรีแบบใช้เลือกข้อมูลและจัดเก็บผลลัพธ์เป็นตารางสแนปชอต เมื่อเราขอข้อมูลจาก Mview ไม่จำเป็นต้องดำเนินการคำสั่ง select อีกครั้ง มันให้ผลลัพธ์จากตารางสแน็ปช็อต ดังนั้น เวลาดำเนินการของ mview จึงน้อยกว่าการดู (สำหรับคำสั่ง select เดียวกัน) อย่างไรก็ตาม mviews ไม่สามารถใช้งานได้ตลอดเวลา เนื่องจากจะแสดงผลลัพธ์เดียวกัน ซึ่งจัดเก็บเป็นตารางสแนปชอตเราควรรีเฟรช mview เพื่อรับชุดผลลัพธ์ล่าสุด

View กับ Mview ต่างกันอย่างไร

1. Mview จะจัดเก็บเอาต์พุตเป็นตารางสแน็ปช็อตเสมอเมื่อสร้าง แต่มุมมองจะไม่สร้างตารางใดๆ

2. มุมมองไม่ต้องการพื้นที่ขนาดใหญ่ในการจัดเก็บเนื้อหา แต่ mview ต้องการพื้นที่ที่ค่อนข้างใหญ่กว่ามุมมองเพื่อจัดเก็บเนื้อหา (เป็นตารางสแนปชอต)

3. มุมมองใช้เวลาในการดำเนินการมากกว่า แต่ mview ใช้เวลาดำเนินการน้อยกว่าการดู (สำหรับคำสั่ง select เดียวกัน)

4. ต้องรีเฟรช Mview เพื่อรับข้อมูลล่าสุด แต่การดูจะให้ข้อมูลล่าสุดเสมอ

5. สคีมาต้องการสิทธิ์ "สร้างมุมมองที่เป็นรูปธรรม" เพื่อสร้าง mviews และสำหรับการดู ต้องมีสิทธิ์ "สร้างมุมมอง"

6. สามารถสร้างดัชนีบน mviews เพื่อเพิ่มประสิทธิภาพได้ แต่ไม่สามารถสร้างดัชนีในการดูได้