Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Index slowing down SQL ???
Message
From
02/12/1999 21:18:43
Charlie Schreiner
Myers and Stauffer Consulting
Topeka, Kansas, United States
 
 
To
02/12/1999 14:43:43
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00297872
Message ID:
00298265
Views:
20
I agree with Rudy and Bruce, but would add this:
The disadvantages to having many tags for data retrieval are only manifest in two ways.
1. VFP must compare all the tag's expressions to see if they match any JOIN or WHERE clauses. That, I would assume, is pretty insignificant. However, I don't believe there is any limit. VFP doesn't evaluate a few tags and then say, "I've done enough. Surely these tags will help. Don't try to match up any more."
2. VFP reads the matching index pointers into memmory. If you have expressions that don't do a good job of specifying a small set of records, you might read 20 megabytes of index info over the network. See http://www.networksplus.net/cschreiner/OutFoxed15.html for an explanation as well as Chistof Lange's message, Thread #257424 Message #259556.

The real problem with lots of tags is in data input. In some cases, the CDX may be larger than the DBF. What is the single greatest point of contention in a multi-user data input system? Locking records? No. Locking the table header when adding a new record? No. It's locking the CDX header when updating any record which has a field represented in an index tag. For every update, insert, and append, the CDX is updated. How much is updated depends on how many fields are in the tag expressions. The larger the expressions, the more data must be moved around. I learned this from George Goley years ago, and it made a lot of sense.
Charlie
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform