Jim,
There isn't much way around B+Tree fragmentation as blocks of records are added, it's just inherent in the data structure. And further file fragmentation occurs when multiple index tags are involved. There's not an "inexpensive" way of moving multimegabytes of cdx around on the disk drive either. You could potentially pad the tag space inside the file but then you'd have people complaining about increased CDX file size.
>Would not that problem be easily solved by keeping as much as possible in RAM, then writing to TEMP files as needed, and at the end of it all write the .CDX data as it is structured today.
>
>This would surely be much faster (or of equal speed when only 1 index is involved) than todays method and sounds to me like a suggestion one of you blue-enveloped folks should consider forwarding to the VFP team.