Максимальный размер поля автоидентификации SQL Server - PullRequest
8 голосов
/ 22 декабря 2011

Каков максимальный размер поля идентификации SQL Server (int)?

Я удаляю и вставляю скопления записей по нескольку раз в день в несколько таблиц, и мне интересно, какой эффектэто будет касаться поля автоидентификации.

Я могу запускать работу каждую ночь или около того и обрезать эти данные, если это необходимо.

Буду признателен за ваши мысли.

Спасибо.

Ответы [ 4 ]

17 голосов
/ 22 декабря 2011

INT доставит вам до 2 147 483 647.

BIGINT даст вам 9 223 372 036 854 775 807.

6 голосов
/ 22 декабря 2011

2 ^ 31 - 1 (2 147 483 647) является верхним диапазоном типа int

1 голос
/ 28 июля 2017
  1. bigint - Диапазон: -2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807) Хранение: 8 байт
  2. int - Диапазон: -2 ^ 31 (-2 147 483 648) до 2 ^ 31-1 (2 147 483 647) Хранение: 4 байта
  3. smallint - Диапазон -2 ^ 15 (-32 768) до 2 ^ 15-1 (32 767) Хранение: 2 байта
  4. tinyint - Диапазон 0 до 255 Хранение: 1 байт
1 голос
/ 22 декабря 2011

Предел связан с самим типом данных, а не с автоматическим приращением.

Если вас беспокоит максимальный размер, вы можете начать последовательность ниже нуля и, таким образом, удвоить емкость, например:

CREATE TABLE [MYTABLE](
[ID] [int] IDENTITY(-2147483648,1),
    (...)
...