поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    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»).

     
    © 1997-2005 PHP Club Team
    Rambler's Top100