У меня есть несколько таблиц, в которых записи могут быть однозначно идентифицированы в нескольких широких областях бизнеса. В прошлом я использовал эти поля в качестве PK, имея в виду следующие преимущества:
- Простота; нет посторонних полей и только один индекс
- Кластеризация обеспечивает быстрые объединения слиянием и фильтры на основе диапазона.
Тем не менее, я слышал случай, созданный для создания искусственного IDENTITY INT
PK, и вместо этого применение бизнес-ключа с отдельным UNIQUE
ограничением. Преимущество состоит в том, что узкий PK делает для намного меньших вторичных индексов.
Если таблица не имеет никаких других , чем PK индексы, я не вижу никаких причин , чтобы благоприятствовать второй подход, хотя в большой таблице это, вероятно , лучше всего предположить , что индексы могут быть необходимы в будущем, и , следовательно , способствуют узкий синтетический PK , Я пропускаю какие-либо соображения?
Кстати, я не спорю с использованием синтетических ключей в хранилищах данных, меня просто интересует, когда использовать один широкий PK, а когда использовать узкий PK плюс широкий Великобритания.