APPEND und indizierte Tabelle

26/11/2008 - 00:18 von Matthias Kahlert | Report spam
Ich hab heute eine kleine Beobachtung gemacht:

Ich muss im Import mehrere große Dateien einlesen. Die Daten laufen in
Tabellen rein, und sind dort natürlich sauber indiziert.

Nur was ich feststellt habe: Wenn der Cursor VOR dem APPEND mittels
INDEX ON... einen Index verpasst bekommen hat, dauert der Import immer
nahezu exakt doppelt so lange, wie wenn zuerst die Daten mit APPEND
eingelesen werden und erst anschließend indiziert werden.

Das Ergebnis ist ja im Endeffekt das gleiche...

Schlecht:
CREATE CURSOR ...
INDEX ON ...
APPEND FROM ...

Besser:
CREATE CURSOR ...
APPEND FROM ...
INDEX ON ...

Ergo: Vor einem umfangreichen APPEND die Indizes wegwerfen und danach
neu erzeugen...

Wollte ich nur mal so gesagt haben ;-)

Matthias Kahlert
[MaxPro] Software
http://www.max-pro.de
 

Lesen sie die antworten

#1 Dag Westerkamp
26/11/2008 - 10:03 | Warnen spam
Matthias Kahlert schrieb:
Ich hab heute eine kleine Beobachtung gemacht:

Ich muss im Import mehrere große Dateien einlesen. Die Daten laufen in
Tabellen rein, und sind dort natürlich sauber indiziert.

Nur was ich feststellt habe: Wenn der Cursor VOR dem APPEND mittels
INDEX ON... einen Index verpasst bekommen hat, dauert der Import immer
nahezu exakt doppelt so lange, wie wenn zuerst die Daten mit APPEND
eingelesen werden und erst anschließend indiziert werden.

Das Ergebnis ist ja im Endeffekt das gleiche...

Schlecht:
CREATE CURSOR ...
INDEX ON ...
APPEND FROM ...

Besser:
CREATE CURSOR ...
APPEND FROM ...
INDEX ON ...

Ergo: Vor einem umfangreichen APPEND die Indizes wegwerfen und danach
neu erzeugen...



ich will dir ja die Freude über deine Entdeckung nicht nehmen, aber ist
das nicht etwas, was im Prinzip für jede Datenbank gilt?

Mal abgesehen davon, dass diese Erkenntnis (laut Aussage eines Kollegen,
der nach eigenen Angaben schon vor 20 Jahren mal mit dbase,clipper und
foxbase gearbeitet hat) mindestens genau so alt ist wie Foxpro selbst.

Ähnliche fragen