>I have two tables, PERSON (21000 records, index on Person_Id), PERSON_SOURCE (22500 records, index on Person_id, Source_id), on which I do the following SELECT:
>
>
SELECT DISTINCT Person.*;
> FROM cavr!person_source INNER JOIN cavr!person ;
> ON Person_source.person_id = Person.person_id;
> WHERE Person_source.source_id = '00031' INTO CURSOR XXXX>
>I run this SELECT in the command window and it takes about 0.3 seconds.
>
>When I run this in the INIT of a form:
>
>
lnStartTime = SECONDS()*1000
>
>SELECT DISTINCT Person.*;
> FROM cavr!person_source INNER JOIN cavr!person ;
> ON Person_source.person_id = Person.person_id;
> WHERE Person_source.source_id = '00031' INTO CURSOR XXXX
>
>WAIT WINDOW 'done loading all people' +STR(SECONDS()*1000-lnStartTime)>
>
>it takes almost 5 seconds. Any reason why this could happen?
>
>TIA,
>
>Ken
As Larry said it might be exclusivity.
Another reason might be you're not using the same database and tables from IDE and form.
ie: In IDE you have a set path to local data folder but in form you've a DE or from load you use a network data folder.
PS: What's the person_source's contribution to this query other than checking if exists there too ?
If you don't need it really do not use distinct as it slows down the query.
Cetin