Вы можете создать индекс для каждого столбца, если хотите, не имеет значения, имеют ли они уникальные данные или нет.
Индексы используются для более быстрого поиска информации, поиска и фильтрации по индексированному столбцу.
Индекс также можно применять к комбинации столбцов (полей).
Таким образом, вы можете добавить индекс для field1, другой для field2, другой для field3, другой для (field1, field3)) комбинация и т. д. Что лучше, зависит от того, какое использование вы планируете сделать за столом.
Если, с другой стороны, вы хотите создать Primary Key
, а не index
:
Выбор столбца для первичного ключа:
столбец должен однозначно идентифицировать каждую строку (поэтому вы не можете использовать field1 или field2, которые имеют дубликаты).
Лучше, если он будет как можно меньше, поэтому при использовании в качестве внешнего ключа в других таблицах он не занимает много места (и по другим причинам).Итак, вам лучше не использовать field3 - хотя вы можете сделать это в тестовой базе данных или небольшой, или если вас не волнует производительность.
Итак, да, мой совет будетдобавить еще один автоматически увеличенный столбец и использовать его в качестве первичного ключа.
Что касается уникальных индексов:
При создании первичного ключа также создается уникальный индекс для поля..
Вы также можете (или без первичного ключа) создать уникальный индекс для поля (или их комбинации).В вашем случае, когда поля 1 и 2 имеют дубликаты, вы либо создаете уникальный индекс для поля 3, либо добавляете автоматически увеличенное поле и уникальный индекс для этого.