Здравствуйте, Miro, Вы писали:
M>Что произойдёт когда автоинкрементное поле типа int (в MS SQL) достигнет максимального значения?
Ошибка переполнения.
M>Сервер станет искать пропущенные по каким-либо причинам значения и дальше заполнять их?
Нет.
Здравствуйте, Igor Trofimov, Вы писали:
iT>Чтобы совсем не волноваться — надо int64 брать
GUID — вот решение всех проблем!
Если статью Синклера на ночь не читать...
... [RSDN@Home 1.1.4 beta 2]
Мы уже победили, просто это еще не так заметно...
Re[3]: Переполнение автоинкрементного поля
От:
Аноним
Дата:
14.07.04 20:32
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:
L>>Ты тогда будешь очень стареньким и тебе уже будет неважно.
iT>На самом деле signed int — это не так уж и много... За несколько лет вполне можно выбрать. iT>Чтобы совсем не волноваться — надо int64 брать
четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
Здравствуйте, Аноним, Вы писали:
А>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
Ну если добавлять по 100 записей в секунду без отдыха и выходных, то где-то за полтора года можно переполнить int32.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Аноним, Вы писали:
А>>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
A>Ну если добавлять по 100 записей в секунду без отдыха и выходных, то где-то за полтора года можно переполнить int32.
А администратор БД за что деньги будет получать?
Вот пусть у него голова и болит
Здравствуйте, <Аноним>, Вы писали: А>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
Так веедь шаг инкримента может быть и 100'000...
Здравствуйте, <Аноним>, Вы писали: А>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
Так веедь шаг инкримента может быть и 100'000...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Igor Trofimov, Вы писали:
L>>>Ты тогда будешь очень стареньким и тебе уже будет неважно.
iT>>На самом деле signed int — это не так уж и много... За несколько лет вполне можно выбрать. iT>>Чтобы совсем не волноваться — надо int64 брать
А>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
Так ведь записи еще можно удалять. Реально в таблице может храниться только 5 записей.
Здравствуйте, Andy_MAN, Вы писали:
A_M>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Igor Trofimov, Вы писали:
L>>>>Ты тогда будешь очень стареньким и тебе уже будет неважно.
iT>>>На самом деле signed int — это не так уж и много... За несколько лет вполне можно выбрать. iT>>>Чтобы совсем не волноваться — надо int64 брать
А>>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
A_M>Так ведь записи еще можно удалять. Реально в таблице может храниться только 5 записей.
Ну да.. Только вот ID последней из них может уже быть предельным.
Кстати, автоинкрементное поле типа int считает от нуля в плюс, а "минусовые" ID теряются? Или же это поле считается беззнаковым?
Здравствуйте, Miro, Вы писали:
M>Ну да.. Только вот ID последней из них может уже быть предельным.
Ну пользуй bigint, если переполнения боишься.
M>Кстати, автоинкрементное поле типа int считает от нуля в плюс, а "минусовые" ID теряются? Или же это поле считается беззнаковым?
Ну давал же ссылку (http://www.rsdn.ru/article/?505
А>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
А кто говорил, что их все будут хранить? И представь например, биллинговую систему где учитываются звонки и sms-ки. Чтобы переполнить знаковый int32 (2^31 — 1) достаточно всего 5 лет, по 14 записей в секунду. Не так уж и много.
Здравствуйте, Igor Trofimov, Вы писали:
iT>А кто говорил, что их все будут хранить? И представь например, биллинговую систему где учитываются звонки и sms-ки. Чтобы переполнить знаковый int32 (2^31 — 1) достаточно всего 5 лет, по 14 записей в секунду. Не так уж и много.
За пять лет или МТС сдохнет, или ты оттуда увошишся.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Andy_MAN, Вы писали:
А>>четыре миллиарда записей это по-твоему немного? А ты уверен, что mssql вообще в состоянии хранить такое кол-во записей таблице?
A_M>Так ведь записи еще можно удалять. Реально в таблице может храниться только 5 записей.
Дык, тогда когда они кончатся, сделашь запросик который махнет все ID на мелкие и будешь еще 5 лет работать.
А еще можно bigint поставить. Тогда на ближайщие миллион лет хватит.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
iT>>А кто говорил, что их все будут хранить? И представь например, биллинговую систему где учитываются звонки и sms-ки. Чтобы переполнить знаковый int32 (2^31 — 1) достаточно всего 5 лет, по 14 записей в секунду. Не так уж и много. VD>За пять лет или МТС сдохнет, или ты оттуда увошишся.
Заявление
Я, Игорь Трофимов,
Прошу уволить меня по собственному желанию в связи с переполнением идентификатора в базе данных.