Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Help to Speed up SQL
Message
From
08/03/2002 17:23:00
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
 
 
To
08/03/2002 14:24:27
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00629818
Message ID:
00630451
Views:
28
>I read your FAQ#8109 and have a question.
>
>I just read in FoxPro Advisor - March 2002 issue
>- FoxPro Advisor Answers column - 4th paragraph,
>that Rushmore determines the record numbers that
>ARE NOT included in the result set.
>
>"Common sense probably tells you that Rushmore determines
>which records go into the result set.  The opposite is true, however.
>Rushmore finds out which records definitely do not go into the result set."
>
>
>Your FAQ indicates that Rushmore gathers the record numbers that ARE included.

I understand this to mean that first Rushmore is applied to indicate which records might be included, according to criteria that are "optimizable". Of course, all other records are definitely discarded. After applying Rushmore, additional, non-Rushmore optimizable, conditions, might discard part of the records that Rushmore retrieved. I don't see a great difference there, although I will have to check the exact wording of my text.

>BTW, removing the deleted filter did no good.

Conditions may vary. It pays to do tests on different sets of data (different number of total records), and I will have to do some additional testing myself. I recently checked getting a single record from a 60,000-record table. I repeated the test several times, and it took about 3 times longer with the index on deleted() - but I don't consider the tests conclusive: times were a few miliseconds only, and I still want to test with larger record sets, and both with data on a local disk, and over a network.

How great is your reccount() on the different tables? Do you access the data over a network?

You said it "did no good". Did it "do bad", or was there no noticeable difference?

>I pack the tables frequently.

This should not make much difference. As soon as you SET DELETED ON, and have an index on deleted(), this index will be used. This will ensure more complete Rushmore Optimization, which may make your query faster, but, IMO, often will make it slower. However, I repeat, I will have to do a few additional tests.

Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform