CLEAR CREATE CURSOR testbuffering (pk i autoincr, field1 L) FOR k=1 TO 50 INSERT INTO (ALIAS()) ( field1 ) VALUES (.F. ) NEXT * build an index is useless * INDEX ON PK TAG TPK FOR k=1 TO 4 INSERT INTO (ALIAS()) (field1) SELECT .f. FROM ALIAS() testtime() NEXT PROCEDURE testtime() CURSORSETPROP("Buffering",5) * allocate memory test(.f.) ? RECCOUNT(),"records in buffer: NONE"," buffering False" at 40, test(.F.) at 60, " True" at 80, test(.T.) at 90 REPLACE all field1 WITH field1 ? RECCOUNT(),"records in buffer: ALL"," buffering False" at 40, test(.F.) at 60, " True" at 80, test(.T.) at 90 TABLEREVERT(.T.) CURSORSETPROP("Buffering",1) PROCEDURE test(buffering) t1=SECONDS() SELECT COUNT(*) FROM testbuffering T1 ; JOIN testbuffering T2 with (buffering=M.buffering); ON T1.PK=T2.PK; INTO ARRAY ASELECT RETURN SECONDS()-T1