TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #482 3.6K
В декабрьской суете я пропустил, что .NET 9 оказывается уже релизнулся, аж месяц назад

Одним из самых значимых нововведений считаю внедрение в стандартную библиотеку UUIDv7

Почему цифра 7 важна?

Guid полезен для БД, как тип первичного ключа, поскольку гарантирует сильную уникальность своим разнообразием значений

Раньше, значение было реализовано согласно стандарту v4 - на основе случайных байтов

Грубо говоря, написать Guid.NewGuid() семантически равносильно Random.NextInt64()

Это создаёт проблемы с производительностью, поскольку когда значения случайны, они неупорядочены, как следствие, их тяжелее индексировать и сортировать

Стандарт v7 предлагает другую концепцию - идентификатор, основанный на метке времени

Соответственно, значения будут упорядочены в неубывающем порядке по определению, такой вот IDENTITY автоинкремент на стероидах

Новый API:
var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);
  • 🔥 35
  • 👍 17
  • ❤ 5
More from @steponeit
  1. Sep 25, 2026Рассказал как я добавил в HydraScript объекты и методы без классов и сделал протоколы. Стр…
  2. Sep 22, 2026Post #858
  3. Sep 21, 2026Post #857
  4. Sep 15, 2026Напомню, что у меня есть WireMock.Grpc.Protobuf — расширение для тех, кто пишет компонентн…
  5. Sep 12, 2026StepOne — официальный контрибутор FusionCache 🤙 Между набросами можно ещё и код писать Fu…
  6. Sep 11, 2026Стояк работодателей 2026 🤫 Оказывается, год назад я предсказал выход Астры! И вместе с эт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →