Oni nie mają być wyjątkowym, ale z pewnością jest to zalecane.
Nie spotkałem się jeszcze ze scenariuszem, w którym chciałem utworzyć CI na nieunikalnej kolumnie.
Co się stanie, jeśli utworzysz element CI w nieunikalnej kolumnie
Czy to prowadzi do złej wydajności?
Dodawanie unikatowego z pewnością dodaje trochę narzutu przy obliczaniu i przechowywaniu go.
To, czy ten narzut będzie zauważalny, zależy od kilku czynników.
- Ile danych zawiera tabela.
- Jaka jest szybkość wstawiania.
- Jak często CI jest używany w selekcji (gdy nie istnieją indeksy pokrywające, prawie zawsze).
Edytuj
Jak zauważył Remus w komentarzach, istnieją przypadki użycia, w których stworzenie nieunikalnego CI byłoby rozsądnym wyborem. To, że nie spotkałem się z jednym z tych scenariuszy, pokazuje jedynie mój własny brak narażenia lub kompetencji (wybierz swój wybór).