> SELECT gen.file_id ; > FROM datatrac!gen gen ; > WHERE gen.trade_no = 0 .AND. (gen.app_date >= DATE()-30) ; > INTO CURSOR tmp_cur1 NOFILTER > >This query takes 50 seconds to execute: > > SELECT gen.int_rate ; > FROM gen ; > WHERE gen.file_id IN (SELECT file_id FROM tmp_cur1) INTO CURSOR tmp_cur2>
> SELECT gen.file_id ; > FROM datatrac!gen gen ; > WHERE gen.trade_no = 0 .AND. (gen.app_date >= DATE()-30) ; > INTO CURSOR tmp_cur1 NOFILTER index on file_id tag file_ID > SELECT gen.int_rate ; > FROM gen ; > INNER JOIN tmp_cur1 on gen.File_ID=tmp_cur1.File_ID ; INTO CURSOR tmp_cur2BTW, you can check _tally after first select and not execute it at all, if the first returns 0 records.