Автоинкрементный первичный ключ делает большие скачки, как будто огромное количество строк удаляется и вставляется заново - PullRequest
0 голосов
/ 28 января 2012

Автоинкрементный первичный ключ совершает большие скачки, как будто огромное количество строк удаляется и вставляется заново.Я уверен, что они не удаляются, хотя.Нигде в моем коде я не могу удалить из таблицы!

У меня есть таблица со столбцом bigint в качестве автоинкрементного первичного ключа и столбцом varchar, который проиндексирован.

Я заметилчто значения первичного ключа сделали огромные скачки.Например ..

ID      Name
1       Foo
2       Bar
12586   Woo
12587   Hoo
987698  What
987698  Is Going On

Первичный ключ кластеризован.Может ли это быть так?

Если он будет продолжать делать большие прыжки, он переполнится.Что будет потом?

Ответы [ 3 ]

0 голосов
/ 28 января 2012

Проверьте идентификационные свойства вашей таблицы.(IDENT_CURRENT, Ident_seed, Ident_incr).Вы используете транзакции?

0 голосов
/ 22 августа 2014

Microsoft изменила традиционную последовательность в SQL 2012. Вы можете реализовать пользовательскую последовательность. Просто перейдите по этой ссылке. Это поможет вам решить вашу проблему.

- Создать схему теста CREATE SCHEMA Test

- Создать последовательность СОЗДАТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ Test.CountBy1 НАЧАТЬ С 1 УВЕЛИЧЕНИЕ НА 1

- вставить три записи INSERT Test.Orders (OrderID, Имя, Кол-во) VALUES (СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ ДЛЯ Test.CountBy1, 'Tire', 2)

http://msdn.microsoft.com/en-us/library/ff878058.aspx

0 голосов
/ 28 января 2012

Когда вы говорите «автоинкрементный первичный ключ», вы имеете в виду IDENTITY(1,1) или что-то еще?

За какой период времени вы видите увеличение с 1 до 987698? И почему вы видите это последнее значение дважды?

Запускали ли вы SQL Profiler для просмотра активности в этой таблице?

Вы используете транзакции? Если да, то возникают ли у вас откаты или исключения / ошибки?

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