*VFP 7 takes 8.395 seconds on my machine for the SELECT *VFP 8 takes 25.894 (!) seconds on my machine for the SELECT SET COLLATE TO "MACHINE" SET EXACT OFF SET ANSI OFF SET DELETED ON CLOSE DATABASES ALL LOCAL I, nSec CREATE CURSOR CALL (nFK I, dDate D) CREATE CURSOR CLIENT (nPK I) FOR I = 1 TO 5000 INSERT INTO CLIENT(nPK) VALUES(RECCOUNT("client") + 1) ENDFOR FOR I = 1 TO 5000000 && 5,000,000 INSERT INTO CALL(nFK,dDate) VALUES(; INT((RECCOUNT("client") + 50) * RAND()),; && This makes some non-matching records DATE() - (INT(RAND() * 50) + 1)) ENDFOR SELECT CALL INDEX ON nFK TAG nFK INDEX ON dDate TAG dDate SELECT client INDEX ON nPK TAG nPK nSec = SECONDS() SELECT ALL; "" AS SomeData ; FROM CALL; LEFT OUTER JOIN CLIENT ON call.nFK = client.nPK; WHERE call.dDate > (DATE() - 7); INTO CURSOR TEMP nSec = SECONDS() - nSec ?MESSAGEBOX(nSec) USE IN TEMP