2013-12-11 231 views
5

我的表格擁有近4000萬條記錄,並帶有DML。唯一索引與非唯一索引

想知道這些唯一索引或非唯一索引中哪一個是更好的實現選項。提供更好的性能。

環境:的Oracle 11g

+0

這取決於您的要求。以及該列中的數據類型。 –

回答

-3

這完全取決於類型的數據的表中的,如果它有數據,其中獨特性是

高然後用B樹否則使用位圖索引。

14

如果可能,請使用唯一索引。否則,請使用非唯一索引。

換句話說,如果你可以使用唯一的索引,你應該。如果有任何理由可能需要記錄重複數據,則無論如何您都沒有選擇。

如果索引保證唯一,Oracle可以執行某些查詢計劃優化,這對於非唯一索引是不可能的 - 例如,如果使用唯一索引來探測特定值,Oracle可以停止進一步處理索引塊,只要它找到匹配。

+0

我有一個表,其中兩列在「和」條件搜索。這兩個值的組合不能再次出現在表格中,但我沒有給出唯一的約束。對它們有獨特的或非唯一的索引會更好嗎? –

+0

@RachitGupta:無論您在候選鍵中有一列還是多列,答案都是一樣的。 –