Moja tabela zawiera prawie 40 milionów rekordów., Z DML.Unikatowy vs nieunikalny indeks
Chcesz wiedzieć, który z tych Unikatowy lub nieunikalny indeks byłby lepszym rozwiązaniem do wdrożenia. Aby zapewnić lepszą wydajność.
Środowisko: Oracle 11g
Moja tabela zawiera prawie 40 milionów rekordów., Z DML.Unikatowy vs nieunikalny indeks
Chcesz wiedzieć, który z tych Unikatowy lub nieunikalny indeks byłby lepszym rozwiązaniem do wdrożenia. Aby zapewnić lepszą wydajność.
Środowisko: Oracle 11g
to całkowicie zależy od typu danych w tabeli, jeśli posiada dane gdzie wyjątkowość jest
wysoki następnie użyj B-tree indeks Bitmap innego użytku.
Jeśli to możliwe, użyj unikalnego indeksu. W przeciwnym razie użyj nieunikalnego indeksu.
Innymi słowy, jeśli możesz użyć unikalnego indeksu, powinieneś. Jeśli istnieje powód, dla którego konieczne może być nagrywanie duplikatów, to i tak nie masz wyboru.
Jeśli indeks jest gwarantowany jako unikalny, Oracle może przeprowadzić pewne optymalizacje planu zapytań, które nie są możliwe w przypadku nieunikalnego indeksu - na przykład, jeśli do sondowania określonej wartości wykorzystywany jest unikatowy indeks, firma Oracle może przerwać przetwarzanie dalej indeksuj bloki, gdy tylko znajdzie dopasowanie.
Mam tabelę, na której wyszukiwane są dwie kolumny w warunku "i". Kombinacja tych 2 wartości nie może wystąpić ponownie w tabeli, ale nie dałem unikalnego ograniczenia. Czy lepiej będzie mieć na nich unikalny lub nieunikalny indeks? –
@RachitGupta: odpowiedź nie różni się od tego, czy masz jedną kolumnę lub wiele kolumn w kluczu kandydata. –
To zależy od Twoich wymagań. i jakie dane masz w kolumnie. –