Операционная система
Таблица 1
Операционная система
| Ограничения на размеры файла
Ограничения на размеры файла
|
32-разрядная Linux-Intel | 2Гб, 4Гб и более, в зависимости от версии Linux
|
Linux-Alpha | 8T (?)
|
Solaris 2.5.1 | 2 Гб (с патчем возможно 4Гб)
|
Solaris 2.6 | 4Гб (может быть изменено при помощи указания флага)
|
Solaris 2.7 Intel | 4 Гб
|
Solaris 2.7 UltraSPARC | 512 Гб
|
В Linux 2.2 существует возможность создавать таблицы с размерами более 2
Гб, используя патч LFS для файловой системы ext2. Существуют также патчи,
обеспечивающие поддержку больших файлов для ReiserFS в Linux 2.4.
Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется
операционной системой.
По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой
таблицы можно проверить/определить ее максимальный размер с помощью команд
SHOW TABLE STATUS или myisamchk -dv table_name. See section 4.5.6 Синтаксис команды SHOW.
Если необходимы таблицы большего размера, чем 4 Гб (и используемая
операционная система ``не возражает''), следует при создании такой таблицы
задать параметры AVG_ROW_LENGTH и MAX_ROWS (see section 6.5.3 Синтаксис оператора CREATE TABLE). Эти параметры можно задать и позже - с помощью ALTER TABLE (see section 6.5.4 Синтаксис оператора ALTER TABLE).
Если большая таблица предназначена только для чтения, можно
воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать
ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в
результате можно получить очень большие таблицы (see section 4.7.4 myisampack, MySQL-генератор сжатых таблиц (только для чтения)).
Есть еще одна возможность обойти ограничения операционной системы на
размеры файлов данных MyISAM, - это делается при помощи опции RAID (see section 6.5.3 Синтаксис оператора CREATE TABLE).
Еще одним решением может быть использование функции MERGE, которая
обеспечивает возможность обрабатывать набор идентичных таблиц как одну
таблицу (see section 7.2 Таблицы MERGE).
|