Problem beim Indizieren

12/10/2007 - 11:38 von Jens Brand | Report spam
Hallo NG,

ich bin heute auf ein Problem beim Erstellen eines BINARY-Index
gestossen. Wenn man den verfügbaren Speicher von VFP mittels sys(3050)
einschrànkt, dann hàngt sich VFP beim Erstellen eines BINARY-Index auf,
wenn die Tabelle eine größere Anzahl Datensàtze enthàlt.

Beispiel:

&& Speicher auf 16 MB beschrànken
sys(3050, 1, 16000000)

&& Tabelle erstellen
create table c:\temp\bintest.dbf (test C(5))

&& ein "paar" Datensàtze erstellen
for x = 1 to 1110000
append blank
endfor

&& Index erstellen, hier hàngt sich VFP auf
index on deleted() tag L3DELETED BINARY

Erstellt man einen Index ohne das Schlüsselwort BINARY, denn
funktioniert es einwandfrei. Auch wenn der verfügbare Speicher größer
eingestellt wird, geht es wieder.

Wie hoch sollte man den Speicher da einstellen um nicht wieder so ein
Problem zu bekommen. Macht es überhaupt noch Sinn, den Speicher zu
optimieren?


Viele Grüße

Jens Brand
 

Lesen sie die antworten

#1 Jürgen Wondzinski
12/10/2007 - 11:57 | Warnen spam
Hi Jens

Netter Effekt ;) Aber aufhàngen is nich ganz richtig: Er indiziert einfach
ewig weiter, kommt irgendwie nicht mehr raus.

Dein Beispiel tut mit 20 Mb Cache problemlos. Ich hab bei mir inzwischen
als Defaultwert 32 Mb drinne.

Den Sys(3050) sollte man auf jeden Fall drin haben, denn bei den heutigen
Speichergrössen von 1 oder 2 Gbytes RAM würde sich VFP per default 50%
reservieren, und das ist mit 500 - 1000 Mb eindeutig zu viel.





Jürgen Wondzinski

Microsoft Visual FoxPro Technologieberater
Microsoft Most Valuable Professional seit 1996
"*´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´. (¸.•` *
.•`.Visual FoxPro: It's magic !
(¸.•``••*

Ähnliche fragen