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