SELECT m.Card_No, m.E_Name, m.Off_Code ; FROM Member m ; WHERE m.Card_No NOT IN ; (SELECT Card_No ; FROM (lcRedeem) WHERE Redeem_Set_No = lcSetNo) ; GROUP BY m.Card_No INTO CURSOR csrSummaryIt is not optimized since that is a NOT condition. When I run it from my application, I work fast when I run it for the 1st time! It returns 5000 records within 3 seconds through LAN. However, it becomes slow for the second time. It take 10 seconds to query.