2011-01-01 7 views
1

Я разрабатываю приложение asp.net, и я использую SQL Server 2008. Я взял столбец IDENTITY как Record_ID для подробной таблицы, где у меня будет триллионы записей в год. Поэтому просто спросите, что может содержать столбец с наибольшим числом идентификаторов (идентификатор), и в ASP.NET, какой тип данных я должен использовать для обработки идентификатора записи, поскольку я использую этот идентификатор в качестве ссылки для обновления данных таблицы. Я не хочу в конечном итоге оказаться в ловушке.Идентификатор SQL Server

Направляйте меня, пожалуйста, пожалуйста.

+0

'bigint'. До «9,223,372,036,854,775,807», если вы начинаете посев в 0. Потенциально вдвое больше, если вы этого не сделаете. триллионы записей в год! действительно? 1 триллион долларов США все равно будет означать, что вы делаете 31709 вставок в секунду. –

+2

Это колоссальная сумма более ** 9 квинтиллионов ** - это больше, чем ** 9 миллиардов миллиардов ** или ** 9 миллионов триллионов ** - это много записей! Даже с триллионами рядов в год, это будет достаточно для ** миллиона лет ** - это будет достаточно для вас? :-) –

ответ

3

IDENTITY может быть любым из целочисленных типов, поэтому размер определяется фактическим типом столбца (INT, BIGINT и т. Д.), А не только фактом, что это идентификатор.

Макс/мин значения здесь: http://msdn.microsoft.com/en-us/library/ms187745.aspx

Во всех случаях они подписаны значения, так (например) INT является Int32 (или целое), и BIGINT является Int64.

+0

Мартин сожалеет, что его не триллион миллиарда я сделал boo boo :), но в asp.net какой тип данных я должен использовать для чтения значения BIG INT? – user239684

+0

ах его INT64 только что понял. спасибо martin :) – user239684

+1

@user - Это Джо, вы должны поблагодарить, но я рад принять его к сведению! –

Смежные вопросы