3

Я выполняю масштабную операцию вставки в базу данных MySQL (более 100 миллионов записей). После этого я выбираю записи из двух таблиц, используя по большей части их первичный ключ. Я стремлюсь оптимизировать систему с точки зрения производительности, и текущие параметры конфигурации, которые я имею в виду:

  • двоичная регистрация отключена для повышения производительности,
  • Механизм хранения MyISAM для повышения производительности (однако я также попробую "более тяжелый" (транзакционный) InnoDB, поскольку он использует частный буфер данных и более точную блокировку),
  • подключение через сокет, так как я подключаюсь к серверу на том же компьютере.

Какие-либо предложения?

2 ответа2

0

Вы пробовали http://www.mysqltuner.com/ ? Я думаю, что это должно быть хорошей отправной точкой для некоторой базовой настройки.

0

Я советую не использовать таблицы MyISAM, хотя в некоторых случаях они могут быть быстрее, поскольку они менее функциональны, а вероятность повреждения данных гораздо выше.

Подключение через сокет вместо TCP является хорошей идеей, но это не будет иметь какую - либо заметную разницу для типов запросов вы говорите.

В зависимости от моделей использования ваших данных, вы можете рассмотреть возможность разделения данных на несколько таблиц. Не зная больше о ваших данных, я не могу предложить конкретные рекомендации, но вы можете прочитать разделы в MySQL, чтобы получить представление. И, конечно, если вы решите пойти по этому пути, и у вас есть более конкретные вопросы, вы знаете, где задать вопрос :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .