Performance READ (File) vs. READ (Instream)

3. April 2014 17:21

Hallo zusammen,

ist es möglich, dass ein altes, klassisches Binär-Lesen (native Dynamics NAV 5.0 SP1 Client)
Code:
DataFile.READ(BinData)

schneller läuft als ein neues Lesen mit INSTREAM (Classis Client Dynamics NAV 2009 R2, SQL)
Code:
InStreamL.READ(ReadDataL,MAXSTRLEN(ReadDataL) - STRLEN(WorkDataL))
?

Der Grund zu dieser Frage ist, dass ich auf einer alten Dynamics NAV 5.0 native Datenbank mehrere Millionen Datensätze in rund 2 Stunden verarbeite.
Mit einer SQL-Datenbank auf Dynamics NAV 2009 R2 dauert dieselbe Verarbeitung aber 4 Mal länger!?!

Gut, ich habe noch kein SQL-Tuning machen lassen. Aber trotzdem...

Ich überlege mir, ob ich die Daten nicht mit einem BULKINSERT in eine temporäre Tabelle einlesen und von dort weiterverarbeiten soll.
Momentan werden die Daten gelesen und anschliessend direkt in Tabellen geschrieben.

Habt ihr mir einige performante Tipps?

Vielen Dank, Beno

Re: Performance READ (File) vs. READ (Instream)

3. April 2014 18:12

$Viele Datensätze in ne SQL-DB via Client einzulesen war noch nie ne gute Idee. MS hat dafür die Integration Services erfunden.

Auch hier hatten wir via XML/Dataport bei ~200.000 DS einen Unterschied zwischen 20 min und ~20sec.