Должен ли я добавить уникальное ограничение к столбцу UUID?

#database

#База данных

Вопрос:

Я добавляю столбец UUID в одну из своих таблиц, чтобы я мог легко предоставлять ключи API. Должен ли я беспокоиться о добавлении уникального ограничения к столбцу? Я не хочу иметь повторяющиеся ключи API, но, с другой стороны, вероятность столкновения при генерации значений UUID бесконечно мала.

Ответ №1:

Я думаю, вам нужно принять во внимание, собираетесь ли вы объединять таблицы на основе этого столбца или выполнять какие-либо операции, такие как фильтрация и т.д. Если это так, вам нужно будет создать уникальный ключ в столбце UUID, поскольку это поможет быстрее извлекать данные.

Комментарии:

1. Я планирую добавить индекс, поскольку я буду выполнять поиск по этим данным. Похоже, что уникальный индекс будет быстрее, чем обычный.

2. В вашем сценарии не должно быть никакой разницы между уникальным и неуникальным индексом, поскольку это индекс B-дерева. Уникальный индекс только указывает БД запретить дубликаты. Обратитесь к этой ссылке для получения дополнительных разъяснений: dba-oracle.com/t_index_unique_vs_non_unique.htm