Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ARGHH! big table killing VFP - need strategy help!
Message
From
13/08/1999 01:04:27
Walter Meester
HoogkarspelNetherlands
 
 
To
12/08/1999 16:35:31
Mike Yearwood
Toronto, Ontario, Canada
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00250826
Message ID:
00253315
Views:
27
Mike,

>However, without a deleted tag, sys(3054) will never report full optimization. So, use it during development and stop during production.

Right, but where does it get me...? When I write optimizable commands (not only SQL SELECT statements) I'm fully aware of which indexes it uses.

For example if a persons table contains about 1 or 2 % of discontinued products, I certainly don't want an index on the field 'discontinued' because the selectivity of the index is very low.

When I make a selection of all available products, I don't want rushmore to filter the discontinued products out (note that this Discontinued thing can be compared with the DELETED() tag, which is in fact just another field), because the optimizable command might run faster without it.

Personally, I use indexes:

- On columns that have a high selectivity, meaning that a certain indexvalue refers to only a small portion of the table.

- For RI purposes or other crosstable references.

- For sorting data

This means that i'm NOT trying to reach the goal of "Full optimization" but rather "Efficient Index use".

Well the cause of the thinking that "Full optimization" is good, might be that "Full optimization" is detectable by the VFP engine. The "Efficient Index use" however is only detectable by the developer, by experience or after some tests.

This said, I think the most easy way to optimize your application is to determine IF full optimization is reached. A more complex way, but more efficient, is to find the "Efficient Index use" state of your applications.

Walter,
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform