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