Привет или личность? - PullRequest
3 голосов
/ 29 апреля 2009

Просто хотел бы получить некоторые мнения о первичных ключах - было бы лучше использовать идентификационные / порядковые номера или использовать стратегию HiLo (запросить высокое значение и увеличить низкое значение в самом приложении)?

Ответы [ 2 ]

6 голосов
/ 29 апреля 2009

Если вы используете SQL Server 2005/2008 с большой таблицей (> 1 миллиона строк), вы можете рассмотреть это , которое ссылается на это . При определенных обстоятельствах существует проблема с scope_identity () и @@ identity.

Конечно, разработка вокруг текущей проблемы реализации не всегда является самым мудрым решением.

2 голосов
/ 29 апреля 2009

Если ваше приложение будет использовать только одну базу данных, я бы использовал идентификацию / последовательность.

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

Ex . Вы работаете над системой управления контентом, в которой люди могут работать на двух разных серверах в разных местах, но в какой-то момент их нужно синхронизировать

...