deutschsprachige FoxPro User Group
Forum View
Home
  
  alternative zu copy to- #14653 in section [729363]
Sec: (51) MS-Visual FoxPro 9.0
Von: Bernhard Sander
An: Jörg_Schneider
Am/Um: 13.01.2011 13:28:09 gelesen

Hallo Jörg,


 

Wir haben hier ein kleines Performance Problem.
Wenn eine Tabelle sehr viele Datensätze hat (2-3mio, größe der DBF hinterher ist ca. 1GB), und man möchte die per
copy to dbf database test

kopieren, dann dauert das ziemlich lange.



Die Frage ist: was ist ziemlich lange und warum?
Ist der rein lokale Kopiervorgang so langsam?
Oder sind die Daten noch nicht alle vom Server abgerufen und werden erst im Verlauf des Kopierens geholt?


 

Konkret rufe ich Daten per Select vom SQL Server ab und möchte diese Daten in einer FoxPro DBF (mit dbc ...) ablegen (wird dann gezippt und per email an eine Filiale gesendet die die Daten importiert...)

Hat jemand ne Idee, was ich alternativ zum copy to einsetzen könnte?



Alternativen zum COPY TO:

SELECT * FROM cursoralias INTO zieltabelle DATABASE zieldbc

oder eine leere Tabelle im DBC für die Aufnahme der Daten vorhalten, dann
USE zieltabelle
ZAP
APPEND FROM (dbf(cursoralias))

die leere Zieltabelle liesse sich zur Not dynamisch erzeugen mit
COPY NEXT 1 TO zieltabelle DATABASE zieldbc FOR .F.

3. Variante, falls die Klausel DATABASE beim COPY TO der Knackpunkt sein sollte:
COPY TO freieTabelle
ADD TABLE freieTabelle

Ausprobiert habe ich diese Befehle jetzt grad nicht, es sollen mehr Denkanstöße sein. Wie die Performanz im einzelnen aussieht musst Du testen.

Gruß
Bernhard Sander






Jörg_Schneider   07.01.2011 11:56
Harro Schippan  07.01.2011 15:34
Hans-Peter Grözinger  07.01.2011 15:44
Olaf Doschke  07.01.2011 23:25
Jörg_Schneider  13.01.2011 09:51
Olaf Doschke  16.01.2011 20:56
Jörg_Schneider  17.01.2011 10:02
Thomas Geissler  13.01.2011 10:56
Bernhard Sander  13.01.2011 13:28
  
zurück zum Forum