Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поле Auto_increment переполнено
 
 автор: Maks-cheb   (27.07.2007 в 18:19)   письмо автору
 
 

Добрый день.
Я чайник, проектирующий своё первое Web-приложение.
Может ли кто мне сказать: Что делать, когда таблица раздулась и поле типа integer auto_increment подошло к своему пределу и добавление новой записи невозможно (переполнение)?

   
 
 автор: sim5   (27.07.2007 в 18:58)   письмо автору
 
   для: Maks-cheb   (27.07.2007 в 18:19)
 

А ваш предел это сколько? Какова его величина?

   
 
 автор: Trianon   (27.07.2007 в 19:05)   письмо автору
 
   для: Maks-cheb   (27.07.2007 в 18:19)
 

Тип INT 2^31 - примерно 2 миллиарда
При следовании запросов с частотой 50 добавлений в секунду этого диапазона хватит на полтора года непрерывной работы.

Но если Вы всё же опасаетесь не успеть - посоветую тип BIGINT - 2^63 - это примерно 10^19
сто тысяч лет добавлений при частоте три мегагерца.

Фактически же если какая-то из таблиц реального времени грозит переполнением, всегда можно придумать перепаковывающий скрипт, который заменит все первичные, а с ними и чужие ключи на плотный ряд значений. В InnoDB даже скрипт не понадобиттся - за счет ON UPDATE CASCADE это можно сделать едва ли не тремя-четырьмя запросами, по-моему.

[поправлено модератором]

   
 
 автор: Poison   (27.07.2007 в 22:44)   письмо автору
 
   для: Trianon   (27.07.2007 в 19:05)
 

Но если Вы всё же опасаетесь не успеть - посоветую тип BIGINT - 2^63 - это примерно 10^19
сто тысяч лет добавлений при частоте три мегагерца.


=)))

   
 
 автор: maks-cheb   (30.07.2007 в 20:30)   письмо автору
 
   для: Trianon   (27.07.2007 в 19:05)
 

Спасибо, не знал, что поле "автоинкремент" можно вручную менять.
Дабы не создавать новой темы для глупого вопроса, спрошу здесь: необходимо ли в конце php-скрипта, работающего с MySQL, выполнять mysql_close() ? Или соединение само как-нибудь закроется и не будет какой-нибудь там утечки памяти?

   
 
 автор: Trianon   (30.07.2007 в 20:42)   письмо автору
 
   для: maks-cheb   (30.07.2007 в 20:30)
 

>Или соединение само как-нибудь закроется

Закроется.

>и не будет какой-нибудь там утечки памяти?

Не будет.

   
 
 автор: Unreal   (30.07.2007 в 21:18)   письмо автору
 
   для: Trianon   (30.07.2007 в 20:42)
 

> Закроется.
закроется но не сразу
хостер писал что из за этого у людей скрипты криво работали, потому что превышалось число допустимых одновременных подключений

   
 
 автор: Trianon   (30.07.2007 в 21:20)   письмо автору
 
   для: Unreal   (30.07.2007 в 21:18)
 

если люди используют mysql_pconnect - да. Тогда возможен кошмар. Даже - вероятен.

   
 
 автор: cheops   (28.07.2007 в 12:11)   письмо автору
 
   для: Maks-cheb   (27.07.2007 в 18:19)
 

Да, это возможно, если выбран слишком короткий тип данных, например, TINYINT.

   
 
 автор: Trianon   (28.07.2007 в 16:00)   письмо автору
 
   для: cheops   (28.07.2007 в 12:11)
 

что нужно сделать, чтобы для первичного ключа таблицы с интенсивными вставками удалениями выбрать тип TINYINT?
:)

   
 
 автор: Unkind   (28.07.2007 в 17:08)   письмо автору
 
   для: Trianon   (28.07.2007 в 16:00)
 

Выбрать option "TINYINT" в <select> в phpMyAdmin при изменении структуры таблицы.

   
 
 автор: Trianon   (28.07.2007 в 19:26)   письмо автору
 
   для: Unkind   (28.07.2007 в 17:08)
 

Его просто так не выберешь.... он в самом хвосте списка.
Нужен допинг.

   
 
 автор: Unkind   (28.07.2007 в 20:02)   письмо автору
14.8 Кб
 
   для: Trianon   (28.07.2007 в 19:26)
 

В моей версии phpMyAdmin он находится вторым в списке. См. аттач.

   
 
 автор: sim5   (28.07.2007 в 21:19)   письмо автору
 
   для: Unkind   (28.07.2007 в 20:02)
 

Может Trianon посмотрел на монитор сзади-сверху ?)

   
 
 автор: Unkind   (28.07.2007 в 22:00)   письмо автору
 
   для: sim5   (28.07.2007 в 21:19)
 

Он там что-то про допинг говорил...

   
 
 автор: sim5   (28.07.2007 в 22:25)   письмо автору
 
   для: Unkind   (28.07.2007 в 22:00)
 

Да ну что вы... Да и на просьбу это не похоже :)

   
 
 автор: Unkind   (28.07.2007 в 22:42)   письмо автору
 
   для: sim5   (28.07.2007 в 22:25)
 

Естественно не похоже. Это были, наверное, мысли вслух.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования