InnoDB "автоэкстенд" функция - PullRequest
1 голос
/ 27 января 2011

Я очень озадачен использованием InnoDB. У меня есть сервер с ограниченным хранилищем, и я прочитал, что таблицы InnoDB создают таблицу размеров по умолчанию с автоматическим расширением 10 МБ.

Я не понимаю функцию "авторасширение". Если я превышаю 10 МБ для одной таблицы, MySQL автоматически увеличивает память (10 МБ + 10 МБ)?

Итак, можно ли изменить ограничение по умолчанию для любой таблицы?

Например:

  • Table1 = по умолчанию 10 МБ;
  • Таблица2 = по умолчанию 0,5 МБ;
  • и т.д ...

возможно ли это?

1 Ответ

3 голосов
/ 27 января 2011

Если вы не включите innodb_file_per_table, все InnoDB данные всех баз данных в экземпляре будут храниться в одном наборе файлов (определенных в файле конфигурации).

Когда в наборе файлов нет свободного местаслева размер последнего файла в наборе увеличивается в чанках, указанных параметром autoextend, который по умолчанию равен 8MB.

InnoDB будет увеличивать только последний файл в наборе.

Если вы используете innodb_file_per_table, то каждая таблица использует свое собственное табличное пространство.Он всегда хранится в одном файле (находится в каталоге db), и этот файл увеличивается в виде фрагментов 4M.Это нельзя изменить.

...