სხვაობა ხედსა და მატერიალიზებულ ხედს შორის

სხვაობა ხედსა და მატერიალიზებულ ხედს შორის
სხვაობა ხედსა და მატერიალიზებულ ხედს შორის

ვიდეო: სხვაობა ხედსა და მატერიალიზებულ ხედს შორის

ვიდეო: სხვაობა ხედსა და მატერიალიზებულ ხედს შორის
ვიდეო: HTC One X vs Apple iPhone 4S 2024, ივლისი
Anonim

ნახვა vs მატერიალიზებული ნახვა

ნახვები და მატერიალიზებული ხედები (mviews) არის ორაკულის მონაცემთა ბაზის ობიექტების ორი ტიპი. ორივე ეს ობიექტი ეხება შერჩეულ შეკითხვებს. ეს შერჩეული მოთხოვნები მოქმედებს როგორც ვირტუალური ცხრილები. ჩვეულებრივ, ხედები და mviews ეხება დიდ შერჩეულ შეკითხვებს, რომლებსაც აქვთ შეერთების ნაკრები. მაშასადამე, ხედების ერთ-ერთი მთავარი უპირატესობა ის არის, რომ ჩვენ შეგვიძლია შევინახოთ რთული შერჩეული მოთხოვნები ხედებად. აქედან გამომდინარე, ჩვენ შეგვიძლია დავმალოთ ლოგიკა შერჩეული მოთხოვნების უკან მისი საბოლოო მომხმარებლებისგან. როდესაც ჩვენ გვჭირდება კომპლექსური შერჩევის განაცხადის შესრულება, უბრალოდ უნდა შევასრულოთ

აირჩიეთხედის სახელიდან

ნახვა

როგორც უკვე აღვნიშნეთ, ხედი არის ვირტუალური ცხრილი, რომელიც მალავს შერჩეულ შეკითხვას.ეს შერჩეული მოთხოვნები არ არის წინასწარ შესრულებული. როდესაც ჩვენ ვასრულებთ შერჩეულ განცხადებას ხედიდან, ის ასრულებს select განცხადებას, რომელიც არის ხედის სხეულის შიგნით. ავიღოთ ხედვის სხეულის ამორჩეული განცხადება, როგორც ძალიან რთული განცხადება. ასე რომ, როდესაც ის შესრულებულია, მას გარკვეული დრო სჭირდება შესრულებას (შედარებით მეტი დრო). გარდა ამისა, ხედი იყენებს ძალიან მცირე ადგილს საკუთარი თავის შესანახად. ეს იმიტომ, რომ მას აქვს მხოლოდ შერჩეული განცხადება, როგორც შინაარსი.

მატერიალიზებული ხედი (Mview)

ეს არის სპეციალური ტიპის ხედი. Mviews იქმნება, როდესაც ჩვენ გვაქვს შესრულების პრობლემები ნახვებთან დაკავშირებით. როდესაც ჩვენ ვქმნით mview-ს, ის ახორციელებს შერჩეულ შეკითხვას და ინახავს მის გამომავალს, როგორც სნეპშოტის ცხრილი. როდესაც ჩვენ ვითხოვთ მონაცემებს Mview-სგან, მას არ სჭირდება მისი შერჩეული განცხადების ხელახლა შესრულება. ის იძლევა გამოსავალს მისი სნეპშოტების ცხრილიდან. მაშასადამე, mview-ის შესრულების დრო უფრო მცირეა ვიდრე view (იგივე შერჩეული განცხადებისთვის). თუმცა, mviews არ შეიძლება გამოყენებულ იქნას მუდმივად, რადგან ის აჩვენებს ერთსა და იმავე გამომავალს, რომელიც ინახება როგორც სნეპშოტის ცხრილი.ჩვენ უნდა განვაახლოთ mview, რომ მივიღოთ მისი უახლესი შედეგების ნაკრები.

რა განსხვავებაა View-სა და Mview-ს შორის?

1. Mview ყოველთვის ინახავს თავის გამომავალს, როგორც სნეპშოტის ცხრილი, როდესაც ის იქმნება, მაგრამ view არ ქმნის ცხრილებს.

2. View-ს არ სჭირდება დიდი სივრცე მისი შინაარსის შესანახად, მაგრამ mview-ს სჭირდება შედარებით დიდი სივრცე, ვიდრე ხედს მისი შინაარსის შესანახად (როგორც სნეპშოტის ცხრილი).

3. View-ს შესრულების უფრო დიდი დრო სჭირდება, მაგრამ mview-ს უფრო მცირე შესრულების დრო სჭირდება ვიდრე ხედებს (იგივე შერჩეული განცხადებისთვის).

4. Mviews უნდა განახლდეს მისი უახლესი მონაცემების მისაღებად, მაგრამ ნახვები ყოველთვის იძლევა უახლეს მონაცემებს.

5. სქემას სჭირდება "მატერიალიზებული ხედის შექმნის" პრივილეგია mviews-ის შესაქმნელად, ხოლო ხედებისთვის საჭიროა "ხედის შექმნის" პრივილეგია.

6. ინდექსები შეიძლება შეიქმნას mview-ებზე მეტი ეფექტურობის მისაღებად, მაგრამ ინდექსების შექმნა შეუძლებელია ნახვებზე.

გირჩევთ: