Архив

Архив Март 2009

Размер таблицы в mySQL

19 Март 2009

Сегодня возникла небольшая проблема с максимальным размером таблицы в mySQL. Как оказалось максимальный размер по умолчанию 4Гб, что я и обнаружил, когда заполнял таблицу. Записи перестали добавляться и т.д. Полез в мануалы. Оказалось, что при создании таблицы, ну или после создания с помощью ALTER TABLE можно менять максимальный размер. Для этого используются MAX_ROWS и AVG_ROW_LENGTH.

MAX_ROWS - сколько записей ориентировочно планируется хранить в таблице;
AVG_ROW_LENGTH - средний размер каждой записи;

Внес изменения в таблицу командой

ALTER TABLE mytable MAX_ROWS=5000000 AVG_ROW_LENGTH=8000;

Указывать AVG_ROW_LENGTH нужно только для таблиц с полями типа BLOB/TEXT, поскольку в этом случае MySQL не может оптимизировать требуемое пространство, исходя только из количества строк.

Проверил максимальные размеры данных/индекса посредством

SHOW TABLE STATUS FROM database LIKE 'table_name';

в поле Max_data_length показало 1Тб - думаю мне хватит:)

Век живи, век учись.:)

Димон mySQL