>Since Visual FoxPro 3, the SET DELETE ON has a major performance issue when come time to deal with high volume tables.
>
>In FoxPro 2.x, we use to have SET DELETE ON with an index tag on DELETED() on each table. Now, in Visual FoxPro, this can no longer be applied because of the performance issue related to a major change in the infrastructure of the engine itself.
>
>So, now, we are better to use SET DELETE OFF which forces us to use a different approach to avoid dealing with deleted records.
>
>One solution is to create a logical flag field to represent the status of the deletion, having an index tag on this field and adding WHERE ... AND NOT flagfield in each SQL.
>
>Like I said, this is related to high volume data (10000 records and up).
>
>Any other solutions or comments are welcome.
Is this true only for the deleted index? I use set deleted on so deleted records are not picked up until the dbf can be exclusively used and packed. Reworking this is a major pain. I don't use a deleted index very much. SQL's don't pick up deleted records from tables with set deleted on. If a table has deleted records, does performance drop significantly?