Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
WAN and Visual FoxPro Database (Data Accessing speed)
Message
From
21/10/1999 09:25:25
 
 
To
20/10/1999 11:48:40
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00276225
Message ID:
00279251
Views:
50
Thanks Erik! I think I'm beginning to understand it. I'm going back and playing with those things and see what I can do to improve my speed.

- A Hilton

>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>
A Hilton
Software & Technology Development,
Programming & Business Process Consulting
Previous
Reply
Map
View

Click here to load this message in the networking platform