Yes and no.

The process of finding the dups will extremely slow without the index.

You can drop the indexes on the columns not in the using clause.
You can also drop the indexes on the least unique columns in the using clause
That will speed things up.

To put it another way, one of your columns in the using clause should be 
indexed, preferably the most unique column.

Dennis McGrath
________________________________
From: [email protected] [mailto:[email protected]] On Behalf Of 
[email protected]
Sent: Thursday, August 06, 2009 3:54 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Deleting dups

Interesting ...   You would think there would be tons of overhead to update the 
index file everytime one row is deleted ...   I'll leave the indexes in there 
and maybe do a time comparison to see if there's any difference (although this 
is a 6.5 database so wouldn't be currently relevant).

Karen




About the DELETE DUPLICATES Command

Use DELETE DUPLICATES to delete duplicate rows from a table. A duplicate row is 
a row where the values for each column are exactly the same as those in another 
row in the table. This command deletes all but the first row for each set of 
duplicate rows.

DELETEDUPLICATES processes faster when the table contains an indexed column and 
the USING collist option is used.

Rules for Column Deletion





And I thought line "DELETE DUPLICATES processes faster when the table contains 
an indexed column and the USING collist option is used." Was right.



Sincerely,

Paul D.







Reply via email to