Поскольку я был создателем поста, на который вы ссылаетесь, я могу ответить на него.
Мы используем код C #, показанный в посте (без изменения порядка, подробно описанного в одном изответ, что я чувствую, может улучшить производительность еще немного) в веб-фермах с 2 до 8 серверов приложений и никогда не было проблем с параллелизмом, я считаю, что функция SequentialGuid, реализованная в основных библиотеках Windows, уже заботится о создании различных руководств на разныхмашины.
При работе с базой данных, когда разные машины вставляют разные Guids, это означает, что каждый отдельный сервер приложений в веб-ферме будет записывать данные, которые будут находиться в определенных регионах базы данных (т. е. на сервере приложений).напишет guid, начиная с 12345, а другой - с guid, начинающимся с 62373), поэтому обновление индексов по-прежнему работает эффективно, поскольку разбиение страниц происходит не очень часто (или никогда).
Итак, из моего опытабез спецификацииЕсли возникает проблема, если вы используете ту же стратегию для создания Guids, которую я изложил в моем исходном сообщении, а также если вы работаете в среде веб-фермы, если вы используете правильный метод для создания Guids.
Я бы избегал влюбой способ создать Guid из кода, а также создать Guid центральным образом.
Что касается типа данных, мы использовали char (36), потому что нам нравится тратить много места!Не говоря уже о шутке, мы решили использовать длинный и подробный способ записи данных, потому что наличие данных в чистом формате значительно облегчает обслуживание, но вы можете использовать Oracle GUID или просто тип данных RAW (16) (онив основном то же самое) и запасные 20 байтов для каждого ряда.Чтобы упростить просмотр и редактирование данных, вы можете предоставить вашему клиенту несколько функций для кодирования и декодирования необработанных данных guid, чтобы было видно текстовое представление guid.