Hallo Herr Berto,
Optimierungen gehen immer
Hinweis: Die Verarbeitung läuft immer gleich ab. Es ist egal ob die Definition manuell über den
Designer
, per Skript über das
Batch Modul
oder aber komplett automatisiert über den
FlowHeater Server
ausgeführt wird!
Um eine genau Aussage bzgl. Optimierung treffen zu können, wäre natürlich eine tiefgreifende Analyse Ihrer Daten sowie Anforderung notwendig. Bitte haben Sie Verständnis dafür, dass das nicht Bestandteil des kostenlosen Supportes hier im Forum sein kann.
Aufgrund Ihrer beiden vorherigen Fragen hier
-
Fehlermeldung bei identischen Schlüssel
-
FH Designer: Fehlermeldung Range-Objekt
hätte ich eine Anmerkung)
Einmal wird das Problem sein, dass Sie in der
InMemory Adapter
Tabelle keinen eindeutigen Schlüssel definiert haben. Das bremst die Verarbeitung enorm aus! Hier würde ich mal beim Einlesen der Daten einen eindeutigen Schlüssel (über
AutoID
oder aber eine
GUID
) definieren anhand der dann die Updates ausgeführt werden. Die AGS Nummer holen Sie sich dann per
SQL Heater
oder
String Replace Heater
aus der Referenztabelle. Beim Einlesen der Referenztabelle wäre es auch Hilfreich wenn hier doppelte Werte per
Filter Heater
gefiltert werden würden, die werden ja eh wieder überschrieben! So können Sie darüber auch einen eindeutigen Index erstellen und die Verarbeitung sollte deutliche beschleunigt werden. Ich würde sagen die Verarbeitungszeit wird so mindestens halbiert, wenn nicht noch mehr!
Vorgehen kurz zusammengefasst
- Einlesen der
CSV
Referenztabelle in eine InMemory Tabelle und filtern per
Filter Heater
auf doppelte Werte. Eindeutigen Schlüssel anlegen über PLZ+Strasse+Hausnummer
- Einlesen der
CSV
Kunden die abgeglichen werden sollen in eine weitere InMemory Tabelle und hier ein weiteres Feld mit einer
AutoID
oder aber besser einer GUID anlegen. Weiter keine Verarbeitung in diesem Verarbeitungsschritt.
- Dann lesen der Kundendaten über die InMemory Tabelle und updaten in die gleiche InMemory Tabelle. PK ist das neue Feld (
AutoID
oder aber
GUID
). In diesen Verarbeitungsschritt ermitteln Sie mittels des
SQL Heater
oder
String Replace Heater
per Lookup die AGS Nummer (ggf. auch weitere Felder) aus der im ersten Verarbeitungsschritt eingelesene Referenztabelle.