Поля Uniqueidentifier на сервере Sql могут быть проиндексированы, как и «назад».
Направляющие могут быть сгенерированы как из информации о машине, так и из информации о времени события.
Guid по умолчанию в .Net является случайным, но из него можно получить последовательные Guid с помощью внешнего вызова:
[DllImport( "rpcrt4.dll", SetLastError = true )]
static extern int UuidCreateSequential( out Guid guid );
Это даст вам рекомендации на основе вашего MAC-адреса ( MSDN документы ), которые являются последовательными.
Если вы .ToString()
эти последовательные направляющие, то увидите, что первая часть строки меняется, а остальные остаются постоянными.
Это ускоряет проверку на равенство между гидами (так как различия будут в начале) и улучшает вариацию для усеченных.
Для поиска в столбцах SqlServer создает индексы аналогично телефонному справочнику или словарю. Поиск слов, начинающихся с «Over *», выполняется намного быстрее, чем поиск слов, заканчивающихся на «* flow».
Это означает, что для сервера Sql любые последовательные направляющие должны быть сохранены с повторяющимися значениями в первую очередь, поэтому он сохраняет их обратно вперед.