1.4. Что представляет собой MySQL?
1.4.4. Насколько большими могут быть таблицы в MySQL?
MySQL версии 3.22 имеет предел по размеру таблиц 4 Гб. В MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайтов (2 ^ 63 bytes).
Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов. Ниже приведено несколько примеров:
Операционная система | Ограничения на размеры файла |
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 Раздел 4.5.6, «Синтаксис команды SHOW ».
Если необходимы таблицы большего размера, чем 4 Гб (и используемая операционная система "не возражает"), следует при создании такой таблицы задать параметры AVG_ROW_LENGTH и MAX_ROWS (see Раздел 6.5.3, «Синтаксис оператора CREATE TABLE »). Эти параметры можно задать и позже - с помощью ALTER TABLE (see Раздел 6.5.4, «Синтаксис оператора ALTER TABLE »).
Если большая таблица предназначена только для чтения, можно воспользоваться myisampack , чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы (see Раздел 4.7.4, «myisampack , MySQL-генератор сжатых таблиц (только для чтения)»).
Есть еще одна возможность обойти ограничения операционной системы на размеры файлов данных MyISAM, - это делается при помощи опции RAID (see Раздел 6.5.3, «Синтаксис оператора CREATE TABLE »).
Еще одним решением может быть использование функции MERGE , которая обеспечивает возможность обрабатывать набор идентичных таблиц как одну таблицу (see Раздел 7.2, «Таблицы MERGE »).
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|