Я использую newsequentialid для генерации идентификаторов GUID для моего первичного ключа в таблице.
Согласно документации (https://docs.microsoft.com/en-us/sql/t-sql/functions/newsequentialid-transact-sql?view=sql-server-ver15), создание последовательных GUID не гарантируется по порядку.
После перезапуска Windows GUID может снова начаться с более низкого диапазона, но по-прежнему уникален в глобальном масштабе
В основном они в порядке до вы перезагружаете машину.
Для первичного ключа с автоинкрементом имеет смысл использовать кластеризованный индекс, поскольку он гарантирует, что вставленная строка будет в конце.
Для первичного ключа GUID это не делает смысл в том, что это кластеризованный индекс, потому что он случайный, маловероятно, что вставленная строка будет в конце.
А как насчет последовательного первичного ключа GUID? Должен ли первичный ключ быть кластеризованным индексом или я должен попытаться найти другой столбец, например поле DateCreated? Проблема в том, что такие поля, как DateCreated, не будут уникальными. Если у меня нет полей, которые являются уникальными полями, что мне делать в качестве кластеризованного индекса?