Hilo в консольном приложении c # с nhibernate - PullRequest
2 голосов
/ 07 октября 2009

Наличие консольного приложения, которое многие будут запускать снова и снова и используя хило. Каждый раз, когда приложение запускается и сессионный завод перестраивается, столбцы hilo (next_hi) будут увеличиваться, а зарезервированное пространство с идентификаторами будет потеряно.

Кто-нибудь имел опыт работы с этим?

Разве это не может быть хорошей особенностью для опционального гило-генератора? помните высокие и низкие значения для приложений, которые часто закрываются многими пользователями? Я имею в виду, что он уже зарезервировал пространство идентификаторов, которые в этой среде часто не полностью используется.

Спасибо, что поделились своим опытом заранее!

1 Ответ

8 голосов
/ 07 октября 2009

Максимальное значение Int64 составляет 9223372036854775807. Предположим, что при каждом запуске приложения вы вставляете одну запись и теряете 99 идентификаторов. это означает, что у вас есть 9223372036854775807/100 = 92233720368547758 эффективных идентификаторов.

Предположим, что ваши приложения вставляют 50000 записей в секунду в базу данных.

92233720368547758/50000 = 184467440737095,51614 секунд = 2135039823,346012918287037037037 дней = 5930666 лет.

Ты все еще волнуешься?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...