Hi all!
Since rescuing my database, I have run into a new performance issue. I have no clue as to why a repair would slow down a command, but it did. The fix was easy, but I don't understand why the fix worked.
Here is the code that was slow....

APPEND oldtrans TO ottemp   WHERE            +
   rdate_ >= .vdate1 AND +
   RDATE_ <= .VDATE2 AND +
   LASTNAME LIKE .MYVAR4 AND +
   FRSTNAME LIKE .MYVAR5 AND +
   INSCOMP1 IN (SEL INSCOMP1 FROM INSURCO WHE NAME CONTAINS .MYVAR7) AND +
   TRANSPAY IN (SEL TRANSPAY FROM OLDTRANS WHERE RDATE_ GE .VDATE1 AND +
   RDATE_ LE .VDATE2 AND +
   LASTNAME LIKE .MYVAR4 AND FRSTNAME LIKE .MYVAR5                 ) AND +
   TRANSPAY NOT IN (SEL TRANSPAY FROM OLDDETS WHERE RDATE_ GE .VDATE1 AND +
   (CPTCODE = 'PI' OR CPTCODE = 'PI-PRIM' OR CPTCODE = 'CONTADJ') )
The value of myvar7 = '%', the multi character wild card
The code that works like lightening moved line 6 (the line that starts with INCOMP1) to the bottom...

APPEND oldtrans TO ottemp   WHERE            +
   rdate_ >= .vdate1 AND +
   RDATE_ <= .VDATE2 AND +
   LASTNAME LIKE .MYVAR4 AND +
   FRSTNAME LIKE .MYVAR5 AND +
   TRANSPAY IN (SEL TRANSPAY FROM OLDTRANS WHERE RDATE_ GE .VDATE1 AND +
   RDATE_ LE .VDATE2 AND +
   LASTNAME LIKE .MYVAR4 AND FRSTNAME LIKE .MYVAR5                 ) AND +
   TRANSPAY NOT IN (SEL TRANSPAY FROM OLDDETS WHERE RDATE_ GE .VDATE1 AND +
   (CPTCODE = 'PI' OR CPTCODE = 'PI-PRIM' OR CPTCODE = 'CONTADJ') ) AND +
   INSCOMP1 IN (SEL INSCOMP1 FROM INSURCO WHE NAME CONTAINS .MYVAR7)

Is there a concept that I can use to predict how to make my code run faster?


Mike


Reply via email to