Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to tell when Set Filter returns no records
Message
From
06/05/1998 02:34:28
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
05/05/1998 16:54:25
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00097082
Message ID:
00097243
Views:
23
Snip..
>>You're right but "go top" with a filter is so slow. Use locate instead.
>>cetin
>You could be right about that. I ran some tests(100 reps of each) on a 400K record table. I haven't had time to really go thru the figures but it looks like on a random filter set on a EXCLU open the goto ran a little faster. With the same test on a SHARE open the locate ran faster(but both took about twice the time as the EXCLU open). I'll run the 'NO RECORDS' filter later - they take about 3 minutes to run 10 tests(about 12 times the random filter shared) and I want to do 100 tests on each type open. I'll let you know what I find out.
Sammie,
To cut down the tests a little, add a dummy index tag for deleted or nondeleted(index on !deleted() tag dummy) and delete a lot. Run the test with fully, partially optimizable expressions. I already tested them for years and it's the pros not only me, indicating to the importance of speed with locate vs gotop-gobottom. Also try this :
set order to tag anytag
goto 200000
go top        && Measure
go bottom     && Measure
* Versus
set order to tag anytag
goto 200000
* Go top
locate        && Measure
* Go bottom
set order to tag anytag descending && Start measure - index upside down
locate
set order to tag anytag            && Stop measure 
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform