Я столкнулся с дилеммой изменения моих первичных ключей от идентификаторов int до Guid. Я поставил свою проблему прямо. Это типичное приложение для управления розничной торговлей, с функциями POS и бэк-офиса. Имеет около 100 таблиц. База данных синхронизируется с другими базами данных и принимает/отправляет новые данные.
В большинстве таблиц нет частых вставок, обновлений или выписок, выполняющихся на них. Однако некоторые из них часто вставляют и выбирают на них, например. продуктов и заказов.
В некоторых таблицах есть до 4 внешних ключей. Если я изменил свои первичные ключи с "int" на "Guid", возникла бы проблема с производительностью при вставке или запросе данных из таблиц с большим количеством внешних ключей. Я знаю, что люди сказали, что индексы будут фрагментированы, а 16 байтов - проблема.
Пространство не будет проблемой в моем случае, и, очевидно, фрагментация индекса также может быть решена с помощью функции NEWSEQUENTIALID(). Может ли кто-нибудь сказать мне, откуда есть опыт, если Guid будет проблематичным в таблицах со многими внешними ключами.
Я буду очень благодарен за ваши мысли об этом...