• what about:

    select distinct to a temp table

    truncate source table

    get the temp table data back in

    or

    select distinct from a to b

    drop a

    rename b to a

    ?

    there is no info about the size of the table, concurrency requirements or if it's a 24x7 environment (or not) ... (so again standard dba reply "it depends" ...

    *edit: sorry, now i see it's not a dedupe, somehow i missed such a simple point ...