Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Seek() ??
Message
From
19/06/1998 20:27:48
David Byrd
Baker, Byrd & Associates, Inc.
Austin, Texas, United States
 
 
To
19/06/1998 03:13:51
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Title:
Miscellaneous
Thread ID:
00104059
Message ID:
00110125
Views:
45
>>When using two numeric values for a compound index it is typically better to separate the numbers with a delimiter, ie.
>>
>> ALLT(STR(field1)) + "-" + ALLT(STR(field2))
>>
>>Otherwise, your seeks will rarely get you the result you want. Note that the ALLTRIM() is used to reduce the size of the CDX file.
>>
>>-David
>
>David:
>
>A delimiter is absolutely necessary if you use allt() in your index expression because
>
>allt(str(1)) + allt(str(23)) is exact than allt(str(12)) + allt(str(3))
>
>But if you dont use allt() is not necesary at all. I use str(field1) + str(field2) in several tables and all my seeks works fine always.
>Carlos.

Carlos,
Some of my tables have more than 3.5 million records so the CDX becomes very large. On average the ALLTRIM() reduces the size of my CDXs by forty percent because STR() pads strings to the left with 10 spaces. Note: You'll have to reindex after adding the ALLTRIM() to see the size reduction.

However, I did test the seeks on a sample table and you are quite right, it works fine. I guess I established the opinion from some faulty expiraments long ago. If I rediscover the reason for my previous opinion I'll pass it on...

David
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform