>>FOR NOT DELETED() >><
CLEAR SET ESCAPE ON SET TALK OFF CREATE CURSOR testdeleted (id i autoincr ) DIMENSION aFor[1000000,1] APPEND FROM array aFor FIELDS EXCEPT id RELEASE aFor * delete 50% DELETE ALL FOR RAND()<0.5 SET DELETED ON LOCATE SKIP RECCOUNT()/2/2 && go middle idNotDeleted=id ? "this is a not deleted id",id at 30 SYS(3054,11) ? "***** ONE INDEX ******" DELETE TAG ALL INDEX ON id TAG pk * Partial Test() ? "***** TWO INDEXES ******" DELETE TAG ALL INDEX ON id TAG pk INDEX ON DELETED() TAG tdel BINARY * Full Test() ? "**** ONE INDEX ONLY ******" DELETE TAG ALL INDEX ON id FOR NOT DELETED() TAG pk * Full Test() PROCEDURE test SYS(3054,11) SELECT * FROM testdeleted X WHERE id=m.idNotDeleted INTO ARRAY rr SYS(3054,0) t1=SECONDS() FOR k=1 TO 10 SELECT COUNT(*) FROM testdeleted X WHERE id>m.idNotDeleted INTO ARRAY rr NEXT ? "COUNT A RANGE OF pk ",SECONDS()-t1 t1=SECONDS() REINDEX ? "REINDEX TIME ",SECONDS()-t1 ?Now, for DELETED() condition it has sense create a binary index when