Összevonási csatlakozási algoritmus rendezett listákhoz

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. február 6-án felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A rendezett listák összevonási összekapcsolási algoritmusa (egyesítés egyesítése, összevonás egyesítése, rendezés-egyesítés összekapcsolása) egyfajta összekapcsolási algoritmus .

Az algoritmus bemenetként két táblát és egy összekapcsolási feltételt kap. Munkája eredménye egy táblázat a kapcsolat eredményeivel.

A bemeneti táblákat az összekapcsolási feltételben érintett oszlopok szerint kell rendezni. Az összekapcsolás az egyes bemeneti táblák egy szkennelésével (áthaladásával) történik. Ez azt jelenti, hogy ugyanazt a sort csak egyszer olvassa el a rendszer, ami előnyt jelent a beágyazott ciklusokkal való összekapcsoláshoz képest .

Egy egyszerű  pszeudokód példa :

//csatlakozni kell az 1. és 2. táblázathoz //feltétel szerint: 1. táblázat.1. oszlop = 2. oszlop.2. oszlop //A példa egyszerűsítése érdekében feltételezzük, hogy a 2. oszlop értékei egyediek 1. táblázat.Rendezés(1. oszlop); 2. táblázat.Rendezés(2. oszlop); 1. táblázat.StandOnFirstRecord; 2. táblázat: Ugrás az első rekordra; Míg a Table1.NotLastRecord és a Table2.NotLastRecord { Ha Táblázat1.Oszlop1 < Táblázat2.Oszlop2 { 1. táblázat. Ugrás a következő bejegyzésre; } Else If Táblázat1.Oszlop1 = Táblázat2.Oszlop2 { Output(1. táblázat.Aktuális rekord, 2. táblázat.Aktuális rekord); 1. táblázat. Ugrás a következő bejegyzésre; 2. táblázat Ugrás a következő bejegyzésre; } Else If Táblázat1.Oszlop1 > Táblázat2.Oszlop2 { 2. táblázat Ugrás a következő bejegyzésre; } }

Előnyök

Hátrányok

Linkek