Walter Meester
HoogkarspelPays-Bas
Paige,
Here we go again.
>I was running some test on VFP 5 vs VFP 6 because my client found that 6 was much slower when using SQL. After much testing of different versions on different machines with different environments (WIN 98, Win 2000 Prof, NT WkSt and NT Server) I concluded that the difference was: Version 6 is much slower if you don't have a DELETED() Tag in your .CDX and use Set Deleted ON. It didn't seem to make much difference in VFP 5. Hope this helps. There may be some of my questions/answers in the "search" area.
Don't use index tag on DELETED() unless you've got a very, VERY, VERY good reason for it. Index tags on deleted generally slows down operation. When using them on large tables especially in an network environment the speed of VFP drops down to a crawl. In virtually all cases the DELETED() tag only slow things down, not speeding up anything.
The thing you've been experiencing with testing SQL results was the filtered SQL resultsets. Do your tests again and add the NOFILTER clause to the SQL statement and you'll come to another conclusion. There have been many discussions (even a FPA article) about the deleted() tag, but the general conclusion was that it never helps unless:
- You want to use filtered SQL resultsets (with all possible dangers).
- You want to fully optimize COUNT() operations.
- Your tables contains lots (thousands or more) deleted records that cannot be filtered with an index otherwise.
These are rare circumstances where you could consider an index on deleted(), but in general its more of burden than it helps. Just try to delete your DELETED() index and see the perfromance improve, esspecially on a network.
Walter,
>Paige
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement