Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
BUG: VFP7 SP1 REINDEX no longer removes BLOAT from .CDX
Message
From
07/05/2002 12:13:37
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00652071
Message ID:
00653591
Views:
26
>The VFP B+Tree needs to store both the key value and a 4 byte record pointer to the actual record.

Just to check - I think I have observed earlier, in maybe 2.0 or 2.6, that it used three-byte pointers until some point (merge level 2 or whatever it was called) and then switched to four-byte pointers. Now I see four-byte pointers on even small cdxes. I figure they changed it long ago without notifying me :)

>The c(20) index should require (20+4) * 10000 = 240000, but VFP uses only 167936 bytes. Note that I specifically created those test values in a way to reduce their compressibility. VFP7SP1 is using 317952 bytes for the index, which is actually more than the theoretical min.

I figure this comes from reserved space in each page. This could actually be used to roughly calculate the percentage of this reserved space - since your fields were largely uncompressable, their overall size can be calculated, but only roughly. What I think is inducing an error into this calculation would be the increased number of level 1, level 2 etc nodes which should be there now that it splits pages earlier.

Apart from our .cdx files being bulkier now, I think we've gained some speed and stability.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform