UPDATE Table1; SET Table1.Field = "Y"; WHERE Table1.CustID IN ; (SELECT Table2.CustID FROM Cursor2)Table1 resides on a file server. It is 7.2MB in size, has a 1MB index, and has about 6,500 records, so it isn't huge by any means. After I re-wrote the code this way, the process is instantaneous:
SELECT Cursor2 SCAN ALL IF Seek(Cursor2.CustID, "Table1", "CustID") REPLACE Table1.Field WITH "Y" IN Table1 ENDIF ENDSCANMy question is: if I have both Table1 and Cursor2 indexed on the join field (CustID), then why is the second way so much faster than the first? I get the feeling that I'm missing something important here, so I'm looking forward to being enlightened. A general overview of the way Fox deals with network files would be very helpful too, if anyone can point me to it. Thanks.