唯一与非唯一索引

Bal*_*laB 7 sql oracle plsql

我的表拥有近4000万条记录,使用DML.

想知道这些唯一或非唯一索引中哪一个是更好的实施选择.为了提供更好的表现.

环境:Oracle 11g

Jef*_*emp 17

如果可能,请使用唯一索引.否则,请使用非唯一索引.

换句话说,如果您可以使用唯一索引,则应该.如果有任何理由可能需要记录重复数据,则无论如何都无法选择.

如果索引保证唯一,Oracle可以执行某些非唯一索引无法实现的查询计划优化 - 例如,如果使用唯一索引来探测特定值,Oracle可以尽快停止处理其他索引块因为它找到了匹配.


小智 -5

这完全取决于表中数据的类型(如果表中的数据具有唯一性)

高则使用 B 树,否则使用位图索引。