სად არსებობს შეერთების შესრულება?
სად არსებობს შეერთების შესრულება?

ვიდეო: სად არსებობს შეერთების შესრულება?

ვიდეო: სად არსებობს შეერთების შესრულება?
ვიდეო: აჩი ალავიძე - ნეტავ რას იტყვი / Achi Alavidze - Netav Ras ityvi 2024, აპრილი
Anonim

Უმეტეს შემთხვევაში, არსებობს ან შეუერთდი იქნება ბევრად უფრო ეფექტური (და უფრო სწრაფი), ვიდრე IN განცხადება. თან არსებობს ან ა შეუერთდი , მონაცემთა ბაზა დააბრუნებს true/false მითითებული ურთიერთობის შემოწმებისას. თუ ქვემოთხოვნის ცხრილი ძალიან მცირეა, არსებობს ან შეუერთდი ბევრად უკეთესად შეასრულებს, ვიდრე IN.

გარდა ამისა, სად არსებობს შიდა შეერთების შესრულება?

2 პასუხი. Ზოგადად, შიდა შეერთება და არსებობს სხვადასხვა რამ არის. თუ თქვენ აკეთებთ შიდა შეერთება უნიკალურ სვეტზე, ისინი აჩვენებენ იგივეს შესრულება . თუ თქვენ აკეთებთ შიდა შეერთება ჩანაწერების ნაკრების გამოყენებით DISTINCT (დუბლიკატების მოსაშორებლად), არსებობს ჩვეულებრივ უფრო სწრაფია.

მეორეც, არის LEFT JOIN უფრო სწრაფი ვიდრე შეერთება? ა LEFT შეერთება აბსოლუტურად არ არის უფრო სწრაფად ვიდრე შიდა შეუერთდი . სინამდვილეში, ეს უფრო ნელია; განსაზღვრებით, გარე შეუერთდი ( LEFT შეერთება ან უფლება შეუერთდი ) უნდა გააკეთოს INNER-ის მთელი სამუშაო შეუერთდი პლუს შედეგების ნულოვანი გაფართოების დამატებითი სამუშაო.

ამ გზით, რომელი უფრო სწრაფია, არსებობს თუ შიგნით?

The არსებობს პუნქტი ბევრია უფრო სწრაფად ვიდრე IN, როდესაც ქვემოკითხვის შედეგები ძალიან დიდია. პირიქით, IN პუნქტი არის უფრო სწრაფად ვიდრე არსებობს როდესაც ქვემოკითხვის შედეგები ძალიან მცირეა. ასევე, IN პუნქტი ვერაფერს ადარებს NULL მნიშვნელობებს, მაგრამ არსებობს პუნქტს შეუძლია შეადაროს ყველაფერი NULL-ებთან.

რომელი SQL JOIN არის უფრო სწრაფი?

ისე, ზოგადად შიდა შეერთება იქნება უფრო სწრაფად რადგან ის აბრუნებს მხოლოდ ყველა შეერთებულ ცხრილში შესატყვის სტრიქონებს შეერთებული სვეტის საფუძველზე. მაგრამ მარცხნივ შეუერთდი დააბრუნებს ყველა სტრიქონს მითითებული ცხრილიდან LEFT და ყველა შესატყვის სტრიქონს მითითებული ცხრილიდან RIGHT.

გირჩევთ: