Один из недостатков Джеффа Этвуда в использовании GUID -
Cumbersome to debug (where userid='{BAE7DF4-DDF-3RG-5TY3E3RF456AS10}')
И я согласен. Я думал, теперь, когда 16-байтовые идентификаторы больше не считаются огромным мероприятием, 16-байтовый + 4-байтовый идентификатор - это практический компромисс?
Вы можете применять кластерные индексы и выполнять большую часть своей последовательной (читай: оптимизации) работы с автоматическими идентификаторами. Объединение, распространение или другие крупные предприятия будут использовать GUID в качестве основной рабочей лошадки.
Итак ... кто-нибудь пробовал смешать лучшее из обоих миров? Каковы были результаты вашего начинания? Конечно, существует проблема с PK (GUID), который поглощает все пространство вашего индекса рядом с другим индексированным полем (идентификатором автоинкремента), поэтому я полагаю, что компромисс может быть деликатным и / или специфичным для очень узкого сценария. .
Примечание: этот вопрос уже решал эту проблему ранее, но с точки зрения управления ссылочной целостностью. Мне просто любопытно, как я могу комбинировать комбинации конфигураций PK / UK на столе и их различное влияние на производительность и масштаб. По сути, лучше ли использовать GUID в качестве PK и автоинкремент в качестве неуникального индекса? Что лучше сделать их уникальным ключом в паре?
Спасибо за ваше время.