@Murks: ich rede gerne Klartext, das ist verständlicher und hat sich bei Schulungen und Vorträgen bewährt. Den meisten Murks findet man bereits vor, man sollte sich bemühen den Murks nicht noch größer zu machen, dafür braucht man einen geschärften Blick, was Murks ist.

Zurück zur Problemstellung:
Wenn Datensätze aus mehreren "Basisdateien" zusammengeführt werden sollen, landet man beim Union der ist niemals wirklich schnell. Für read only ist da am effektivsten die Daten im ersten Schritt in einer temporären Tabelle zu sammeln und dann auf diesen Bestand weiter zu machen.
Das zufügen von fehlenden Feldern kann man dann mit erledigen, ob man da case oder coalesce ausreicht, hängt von den Daten ab.

Wenn nichts "überlesen" wird, ist RLA schneller und vor allem Ressourcen schonender. Solange SQL nichts blocken kann (auch hinter den Kulissen) ist RLA im Vorteil.

Wenn bei euch ein Index Aufbau über 12 Mio Sätze 40 Minuten braucht, dann habt ihr - aus heutiger Sicht - ein ernsthaftes Problem: entweder völlig unzureichende Hardware oder einen Softwaredefekt oder eine völlig vermurkste Konfiguration des Systems (Subsysteme, Speicherpools...)

mfg

und nix für Ungut für das ein oder andere harte Wort

Dieter Bender