|
|
|
| Добрый день.
Я чайник, проектирующий своё первое Web-приложение.
Может ли кто мне сказать: Что делать, когда таблица раздулась и поле типа integer auto_increment подошло к своему пределу и добавление новой записи невозможно (переполнение)? | |
|
|
|
|
|
|
|
для: Maks-cheb
(27.07.2007 в 18:19)
| | А ваш предел это сколько? Какова его величина? | |
|
|
|
|
|
|
|
для: Maks-cheb
(27.07.2007 в 18:19)
| | Тип INT 2^31 - примерно 2 миллиарда
При следовании запросов с частотой 50 добавлений в секунду этого диапазона хватит на полтора года непрерывной работы.
Но если Вы всё же опасаетесь не успеть - посоветую тип BIGINT - 2^63 - это примерно 10^19
сто тысяч лет добавлений при частоте три мегагерца.
Фактически же если какая-то из таблиц реального времени грозит переполнением, всегда можно придумать перепаковывающий скрипт, который заменит все первичные, а с ними и чужие ключи на плотный ряд значений. В InnoDB даже скрипт не понадобиттся - за счет ON UPDATE CASCADE это можно сделать едва ли не тремя-четырьмя запросами, по-моему.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 19:05)
| | Но если Вы всё же опасаетесь не успеть - посоветую тип BIGINT - 2^63 - это примерно 10^19
сто тысяч лет добавлений при частоте три мегагерца.
=))) | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 19:05)
| | Спасибо, не знал, что поле "автоинкремент" можно вручную менять.
Дабы не создавать новой темы для глупого вопроса, спрошу здесь: необходимо ли в конце php-скрипта, работающего с MySQL, выполнять mysql_close() ? Или соединение само как-нибудь закроется и не будет какой-нибудь там утечки памяти? | |
|
|
|
|
|
|
|
для: maks-cheb
(30.07.2007 в 20:30)
| | >Или соединение само как-нибудь закроется
Закроется.
>и не будет какой-нибудь там утечки памяти?
Не будет. | |
|
|
|
|
|
|
|
для: Trianon
(30.07.2007 в 20:42)
| | > Закроется.
закроется но не сразу
хостер писал что из за этого у людей скрипты криво работали, потому что превышалось число допустимых одновременных подключений | |
|
|
|
|
|
|
|
для: Unreal
(30.07.2007 в 21:18)
| | если люди используют mysql_pconnect - да. Тогда возможен кошмар. Даже - вероятен. | |
|
|
|
|
|
|
|
для: Maks-cheb
(27.07.2007 в 18:19)
| | Да, это возможно, если выбран слишком короткий тип данных, например, TINYINT. | |
|
|
|
|
|
|
|
для: cheops
(28.07.2007 в 12:11)
| | что нужно сделать, чтобы для первичного ключа таблицы с интенсивными вставками удалениями выбрать тип TINYINT?
:) | |
|
|
|
|
|
|
|
для: Trianon
(28.07.2007 в 16:00)
| | Выбрать option "TINYINT" в <select> в phpMyAdmin при изменении структуры таблицы. | |
|
|
|
|
|
|
|
для: Unkind
(28.07.2007 в 17:08)
| | Его просто так не выберешь.... он в самом хвосте списка.
Нужен допинг. | |
|
|
|
|
 14.8 Кб |
|
|
для: Trianon
(28.07.2007 в 19:26)
| | В моей версии phpMyAdmin он находится вторым в списке. См. аттач. | |
|
|
|
|
|
|
|
для: Unkind
(28.07.2007 в 20:02)
| | Может Trianon посмотрел на монитор сзади-сверху ?) | |
|
|
|
|
|
|
|
для: sim5
(28.07.2007 в 21:19)
| | Он там что-то про допинг говорил... | |
|
|
|
|
|
|
|
для: Unkind
(28.07.2007 в 22:00)
| | Да ну что вы... Да и на просьбу это не похоже :) | |
|
|
|
|
|
|
|
для: sim5
(28.07.2007 в 22:25)
| | Естественно не похоже. Это были, наверное, мысли вслух. | |
|
|
|