Вопрос по ключевым автоинкрементным полям.

iden

Новичок
Вопрос по ключевым автоинкрементным полям.

Здравствуйте!

Хочу услышать вашу позицию и решение, как опытных девелоперов, на такой факт... Я пока новенький в сфере web-девелопа. К делу...
Допустим имеется таблица в mysql с ключевым автоинкрементным полем типа SMALLINT. Данных в таблице пусть будет 200 записей. При удалении имеющихся записей, значения их ключей уже не используются в новых записях. При активных добавлениях/удалениях записей последует выход за границу типа. Итого имея всего 200 записей можно переполнить поле ключа.
Т.е. если я храню в таблице с ключом типа TINYINT (которого вполне достаточно теоретически) настройки сайта, которые по определенным причинам должны иметь оборот, я получу переполнение. Тогда придется перейти на более емкий тип поля и занять на диске больше места для хранения БД. Пример конечно банальный, но суть ясна.
Вижу такие варианты выхода из ситуации:
1) Переход на более емкий тип поля(тоже когда-нибудь заполнится)
2) Клонировать таблицу(инкремент начнется сначала)
3) Перетряхивание ключа или другие решения средствами самой mysql (о таковых я ничего не слышал)

Прошу конструктивного ответа.
Спасибо.
 

Krishna

Продался Java
Тогда придется перейти на более емкий тип поля и занять на диске больше места для хранения БД.
П..ц. Хочешь стать нормальным программистом - отучись экономить на спичках без смертельной на то необходимости.
 

Mols

Новичок
Ну и сколько можно сэкономить на 200х записях?
Не замарачивайся и ставь ИНТ. а на счет "тоже когда-нибудь заполнится"...просто прикинь, сколько дней надо менять полностью по 200 записей, чтобы заполнить хотя бы до миллиона... и успокойся)))
 

Фанат

oncle terrible
Команда форума
Мне кажется - не совсем.
У меня к тебе вопрос.
2) Клонировать таблицу(инкремент начнется сначала)
3) Перетряхивание ключа или другие решения средствами самой mysql (о таковых я ничего не слышал)
Как ты считаешь, эти два способа никак не отразятся на работе сайта? Никаких проблем не создадут?
 
Сверху