select anything from a inner join b on a.field=b.field where into anything
I faced, that VFP creates and intermediate cursor where it packs into all records, that meets the join condition, and THEN will create the final result, that contains only those records that meet where clause.
So, now I place select criteria into join condition, too. Like
Instead of:
select anything from a inner join b on a.field=b.field where a.field>0 into anything
I use:
select anything from a inner join b on a.field=b.field and a.field>0 where a.field>0 into anything
Of course, it is not a problem when the number of filtered records are relativly little.
But a two big (?) 10M, inner joined table produced me an INSUFFICIENT DISK SPACE error message. (It produced a +150M intermediate cursor and 25 sec run time)