Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: Luca Moioli
  Where is Luca Moioli?
 Venezia
 Italy
 Luca Moioli
 To: mk sharma
  Where is mk sharma?
 mumbai
 India
 mk sharma
 Tags
Subject: RE: Rushmore for SCAN
Thread ID: 345230 Message ID: 345421 # Views: 32 # Ratings: 0
Version: Visual FoxPro 9 SP2 Category: Databases, Tables and SQL Server
Date: Wednesday, May 23, 2012 9:30:59 AM         
   


Big result!


Table1 has 5,187,157 and the SCAN result is a set of 55,086 records.

SET ORDER TO 0 and INDEX ON ALLTRIM(Field2)
SELECT Table1
SCAN ALL FOR Field1=m.Val1 AND ALLTRIM(Field2)==m.Val2

medium time: 2.344

SET ORDER TO MyKey and INDEX ON Field1+Field2 TAG MyKey
SELECT Table1
=SEEK(m.Val1+m.Val2,"table1","Mykey")
SCAN WHILE Field1=m.Val1 AND ALLTRIM(Field2)==m.Val2

medium time: 0.172


Notes:
1) there is no difference on performaces between INDEX ON Field1+Field2 and INDEX ON Field1+ALLTRIM(Field2)

2) I need of ALLTRIM(Field2) in search expression because Field2 is 100 characters and there are records like
AAA
AAAB
AAABB
AAABBC
so I need ALLTRIM() to find (for example) only AAA records

3) about the "==", I have SET EXACT OFF and cannot use ON

Thank you very much again!

ENTIRE THREAD

Rushmore for SCAN Posted by Luca Moioli @ 5/21/2012 7:46:07 AM
RE: Rushmore for SCAN Posted by mk sharma @ 5/21/2012 7:55:07 AM
RE: Rushmore for SCAN Posted by tushar @ 5/21/2012 8:56:21 AM
RE: Rushmore for SCAN Posted by Chuanbing Chen @ 5/22/2012 12:47:40 AM
RE: Rushmore for SCAN Posted by Simon Cropper @ 5/23/2012 3:16:40 AM
RE: Rushmore for SCAN Posted by Luca Moioli @ 5/23/2012 7:06:58 AM
RE: Rushmore for SCAN Posted by mk sharma @ 5/23/2012 7:27:19 AM
RE: Rushmore for SCAN Posted by Luca Moioli @ 5/23/2012 9:30:59 AM
RE: Rushmore for SCAN Posted by mk sharma @ 5/23/2012 9:35:40 AM