Mysql параметры, которые влияют на продолжительность создания таблицы - PullRequest
0 голосов
/ 21 февраля 2012

Я выполняю запрос из терминала mysql:

CREATE TABLE test(ID int, col1 id, col2 ID, PRIMARY KEY (ID) ENGINE = InnoDB;

Используя команду SHOW PROFILE, я получаю среднее значение:

длительность создания таблицы = 0,008000, что равно примерно 8 мс.

Какие-либо предложения, какие параметры искать в конфигурации MySQL для улучшения времени создания таблицы?Другими словами, какие параметры могут влиять на время создания таблицы.

Я использую Intel Xeon 3,80 ГГц с оперативной памятью 4 ГБ.

Ответы [ 4 ]

1 голос
/ 21 февраля 2012

Вот некоторые переменные, которые могут повлиять на производительность CREATE TABLE:

  • аппаратный ввод / вывод
  • файловая система
  • MySQL версия
  • баран
  • тип базы данных (innodb / myisam / ...)
  • дизайн таблицы (ключи, поля, ...)
  • подключение к базе данных
  • несколько других конфигураций сервера баз данных

В целом, я бы сказал, что 8 мс в порядке, но это говорит, не зная больше деталей.

0 голосов
/ 21 февраля 2012

Большинство параметров будут зависеть от используемого вами механизма базы данных.Предполагая его InnoDB (по умолчанию), взгляните на innodb_buffer_pool_size и innodb_additional_mem_pool_size

При этом я сомневаюсь, что вы сможете увидеть такое значительное улучшение за 8 мс.

0 голосов
/ 21 февраля 2012

Если для вас проблема в том, что для создания таблицы требуется 8 миллисекунд, то вполне вероятно, что что-то не так с вашим дизайном базы данных (это было бы в случае, если вы хотите создать тысячу таблиц в секунду).

Если вы используете их только временно, используйте таблицы, которые хранятся в памяти:

CREATE TABLE test(ID int, col1 id, col2 ID, 
PRIMARY KEY (ID))
ENGINE=MEMORY;

Создание будет быстрее, однако, если ваш сервер выйдет из строя, данные в этих таблицах будут потеряны.

0 голосов
/ 21 февраля 2012

Насколько я знаю, на стороне программного обеспечения не так много всего, что вы можете специально настроить для создания таблиц. Аппаратное обеспечение может помочь, начните с добавления дополнительной оперативной памяти, если можете. Тем не менее, был предыдущий вопрос Stack , который может оказать некоторую помощь.

...