2013-12-11 17 views
5

Meine Tabelle enthält fast 40 Millionen Datensätze., Mit DML.Unique vs nicht eindeutigen Index

Möchten Sie wissen, welche dieser eindeutigen oder nicht eindeutigen Index wäre die bessere Option für die Implementierung. Um eine bessere Leistung zu erzielen.

Umgebung: Oracle 11g

+0

Es hängt von Ihrer Anforderung ab. und welche Art von Daten Sie in der Spalte haben. –

Antwort

-3

dies hängt ganz von der Art der Daten in der Tabelle, wenn es Daten hat, wo Einzigartigkeit

hoch ist, dann B-Baum sonst Verwendung Bitmap-Index verwenden.

14

Verwenden Sie nach Möglichkeit einen eindeutigen Index. Andernfalls verwenden Sie einen nicht eindeutigen Index.

Mit anderen Worten, wenn Sie einen eindeutigen Index verwenden können, sollten Sie. Wenn es einen Grund gibt, warum doppelte Daten aufgezeichnet werden müssen, haben Sie sowieso keine Wahl.

Wenn der Index garantiert eindeutig ist, kann Oracle bestimmte Abfrageplanoptimierungen durchführen, die mit einem nicht eindeutigen Index nicht möglich sind. Wenn beispielsweise ein eindeutiger Index zum Suchen nach einem bestimmten Wert verwendet wird, kann Oracle die Verarbeitung weiter anhalten Index Blöcke, sobald es eine Übereinstimmung findet.

+0

Ich habe eine Tabelle, in der zwei Spalten in "und" Zustand gesucht werden. Eine Kombination dieser 2 Werte kann in der Tabelle nicht erneut vorkommen, ich habe jedoch keine eindeutige Einschränkung angegeben. Ist es besser, einen eindeutigen oder nicht eindeutigen Index auf ihnen zu haben? –

+0

@RachitGupta: Die Antwort ist nicht anders, ob Sie eine Spalte oder mehrere Spalten in einem Kandidatenschlüssel haben. –

Verwandte Themen