eine Frage zum Vergleich von Tabellen. Ich habe als ausgangspunkt eine text
Datei mit ca. 50.000 Eintr�gen. Das sind Kategorieen. Die einzelnen
Eintr�ge sind �ber tabs einger�ckt und bezeichnen somit die Unterkategorien
(also z.B.
Handwerk
B�cker
Fleischer)
Die einzelnen Zeilen enthalten zus�tzlich noch weitere Informationen zu den
kategorien, die ebenfalls noch aufgesplittet werden. Pro Kategorie
entstehen so bis zu 5 Datenbankfelder.
(Beispiel
B�cker Nr.125 deutsch kleinbetrieb bemerkung )
Diese lese ich in eine Datenbank ein. Soweit so gut. Nun kann sich die
Ausgangsdatei aber st�ndig �ndern. Deshalb lese ich die Datei zuerst in
eine tempor�re Tabelle und kopiere diese dann in die eigentliche Tabelle.
Das macht nat�rlich so allein noch keinen Sinn. mein anliegen ist der
Vergleich der tempor�ren Tabelle mit der Originaltabelle um �nderungen
kennzeichnen zu k�nnen. Ich muss ja bei bereits verwendeten kategorien,
darauf hinweisen, wenn die pl�tzlich ge�ndert oder entfernt werden. Neue
kommen halt einfach dazu, das ist kein Problem. Nun kann ich nat�rlich die
Datenbank zeilenweise vergleichen, das dauert aber ewig.
Die Frage ist nun, wie kann ich performanceg�nstig die beiden DB�s
vergleichen udnd die Unterschiede nat�rlich auch gleich noch auswerten?
M. Fiedler
Mit einem LEFT JOIN und dem Vergleich IS NULL auf die Spalte in der
neuen Tabelle bekommst du die gelöschten Einträge. Die neuen Einträge
mit RIGHT JOIN und die aktualisierten Einträge per INNER JOIN.
>> mein anliegen ist der Vergleich der tempor�ren Tabelle mit der
>> Originaltabelle um �nderungen kennzeichnen zu k�nnen
>
> Mit einem LEFT JOIN und dem Vergleich IS NULL auf die Spalte in der
> neuen Tabelle bekommst du die gel�schten Eintr�ge. Die neuen Eintr�ge
> mit RIGHT JOIN und die aktualisierten Eintr�ge per INNER JOIN.
Danke, mal sehen, was ich damit machen kann.
Mathias