SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.01.2010 22:19:52

cooler
Завсегдатай
Зарегистрирован: 14.01.2010
Сообщений: 52

Автоинкриментное поле

Доброго времени суток. Возник такой вопрос:
Допустим есть таблица у которой есть автоинкриментное поле id. Таблица каждый день много раз обновляется (вставляются новые записи, удаляются, обновляются). Через некоторое время, допустим через месяц, поле id будет равно ххххххххх числу, а что дальше? Что делать через пол года, когда id будет порядка ххххххххххх? Вот такой вот вопрос, заранее благодарен за ваши ответы!

Неактивен

 

#2 14.01.2010 23:17:04

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Автоинкриментное поле

Нужно проектировать БД с учетом этой возможности и заложить в соответствующем поле запас.
Например, в поле BIGINT UNSIGNED влезает число ~1,8E19. Для подавляющего большинства задач должно хватить.

Неактивен

 

#3 15.01.2010 14:14:44

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Автоинкриментное поле

Миш, скажи уж честно, что для большинства задач хватит простого INT smile

Если значение увеличивается 10 раз в секунду, то INT UNSIGNED хватит для
того, чтобы работать 4971 суток, т.е. приблизительно 14 лет.

А BIGINT UNSIGNED нужен в случае, когда значение увеличивается, например,
1000 раз в секунду, и тогда такая конструкция будет работать 584942417 лет.

Неактивен

 

#4 15.01.2010 14:24:07

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Автоинкриментное поле

Честно присоединяюсь к написанному тобой smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson