Кіріспе

Реляциялық деректер базасында қолданылатын алгоритм. Сортталған біріктіру (merge join) – біріктіру алгоритмі және реляциялық деректерді басқару жүйесін іске асыруда қолданылады. Біріктіру алгоритмінің негізгі міндеті – әрбір біріктіру атрибутының ерекше мәні үшін, әрбір қатынаста сол мәнді көрсететін түйіндер жиынын табу. Сортталған біріктіру алгоритмінің негізгі идеясы – ең алдымен қатынастарды біріктіру атрибуты бойынша сұрыптау, сонда бірімен бірі кезегімен жүретін сызықтық сканерлеулер осы жиындарды бір уақытта кездестіреді. Іс жүзінде, сортталған біріктіруді орындаудың ең қымбат бөлігі – алгоритмге берілетін екі кірісті де сұрыпталған күйде ұйымдастыру болып табылады. Бұл нақты сұрыптау операциясы (көбінесе сыртқы сұрыптау) арқылы немесе біріктіру қатынастарының бірінде немесе екеуінде бұрыннан бар реттіліктерді пайдалану арқылы жүзеге асырылуы мүмкін. Соңғы жағдай, «қызықты реттілік» деп аталады, себебі біріктіруге берілетін кіріс, ағаш негізделген индекстің сканерлеуінен, басқа сортталған біріктіруден немесе тиісті кілт бойынша сұрыпталған нәтиже беретін басқа жоспар операторынан туындауы мүмкін. Қызықты реттіліктер міндетті түрде кездейсоқ болуы керек емес: оптимизатор осы мүмкіндікті іздеп, егер бір немесе бірнеше төменгі деңгейдегі түйіндер пайдалана алатын қызықты реттілік пайда болса, нақты алдыңғы операция үшін оңтайлы емес жоспарды таңдауы мүмкін.

Күрделілігі

Let және be қатынастары, онда жады мен жадының беттеріне сыяды. Ең нашар жағдайда, сұрыптау-біріктіру қосылымы I/O операцияларында жұмыс істейді. Егер және реттелмеген болса, ең нашар жағдайдағы уақыт шығыны сұрыптау уақытының қосымша мүшелерін қамтиды: , бұл тең (сызықтық-логарифмдік мүшелер сызықтық мүшелерден басым болғандықтан, Үлкен О нотациясын қараңыз – Көбінесе қолданылатын функциялардың реті).