Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Index on deleted()
Message
From
02/04/2001 13:42:49
Walter Meester
HoogkarspelNetherlands
 
 
To
02/04/2001 09:27:27
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00490398
Message ID:
00490997
Views:
9
Cristian,

>I decided to use this index on some tables, since I had to set deldted on. I assumed that when querying data this would give a performance advantage. The tables involved are not that big. I thought that this index only causes problems on large tables. Is there no performance advantage whatsoever? There was a lot of discussion, but still it's unclear to me.

In most cases, there is no mesurable performance advantage. On a network, you'll notice the negative impact of the DELETED() tag much earlier than on a local workstation. some rules:

When there are no or not much deleted records the DELETED() tag will not give you any performance advantage unless:
- You're using COUNT to count record when SET DELETE = ON with full optimization
- You want to use FILTERED SQL resultsets generated by a SQL SELECT command with full optimization

When omiting the DELETED() tag:
- Your tables open faster when SET DELETE = ON
- Performance of INSERTs and DELETEs is much better
- You do not have the chance of having a corrupted DELETED() index

It all has to do with the fact that the rushmore optimizer uses every index available when trying to optimize a command. When you've got a million record table and open this table, it has to download all indexnodes for every non-deleted record before it gives control back to VFP. If this happens on a network, it will slow down the process because a lot of network traffic is generated with no benefit or whatsoever.

Walter,
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform