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