This is a good disucssion and a common question. It has become common to use multiset or unique index/constraints to avoid duplicate row checks.
However, this can be overdone. If a NUPI has a reasonable number of duplicates then the cost of the duplicate row checking will be less than the cost of maintaining the separate structures or the impact of getting unintended duplicate rows in the table.
"reasonable" is defined as less than a couple data blocks of duplicate records.
↧