Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
WAN and Visual FoxPro Database (Data Accessing speed)
Message
De
20/10/1999 11:48:40
 
 
À
20/10/1999 10:11:56
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00276225
Message ID:
00278893
Vues:
57
Instead of creating a new file, sometime when you do a select statement, VFP just puts a filter on the base table for speed purposes. NOFILTER causes this not to happen. Several things need to be in place for VFP to decide to do this:

-Only fields from a single table need to be in the results.
-No artificial or calculated fields
-(this is the key) the query needs to be fully optimized.

VFP does not consider a query fully optimized when SET DELET is ON unless there is a tag on DELETED().
The reason there is a perceived slowdown with views, is because views never get to use the timesaving trick of seeing a filtered base table, because of their use of the NOFILTER keyword.


>Thanks for the clarification Erik. I thought that was what he was talking about. So, the fact that a DELETED() tag is there slows it down when a cursor is created when running a (NOFILTERed) view causes a slowdown but if I do a SELECT and don't specify the NOFILTER clause then it shouldn't slow down? I can understand that it creating a temporary file on the client would cause a slowdown but I can't understand that having a DELETED() tag would make any difference when that temp file is created or not. Are there whitepapers or other documentation that I can peruse to see why this happens?
>
>- A Hilton
>
>
>>Ed means that when VFP runs the query for a view, it uses the NOFILTER clause to ensure that te view creates its own base table.
>>
>>>The view I'm using is a parameterized view. Is that not filtered? Or are you talking about the "INTO CURSOR cursorname NOFILTER" clause in the SELECT-SQL command?
>>>
>>>- A Hilton
>>>
>>>
>>>>Andrew,
>>>>
>>>>Deleted() tag hurts views because view is NOFILTERed cursor. However, if you do ad-hoc SQL-query to get FILTERed cursor then the results will be quite opposite. It's exactly the point: deleted() tag is dangerous if application is blindly based on views.
>>>>
>>>>>I don't know about the past (before VFP 6.0) because I never used the deleted() tag before the 6.0 version. But I was reading the below posts on this subject and decided to do a little (very unscientific) test on my development machine with the same table/view/screen/grid that I mentioned in my previous post.
>>>>>
>
><snip>
Erik Moore
Clientelligence
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform