Настраиваем временные таблицы MySQL — tmp_table_size и max_heap_table_size по 256 МБ
Дата публикации: 24.06.2026

Настраиваем временные таблицы MySQL — tmp_table_size и max_heap_table_size по 256 МБ

Хочу себе такие же кнопки
ccb9a536

Что вы получите, настроив tmp_table_size и max_heap_table_size на 256 МБ

  • Быстрее ответы на запросы, использующие временные таблицы (например, GROUP BY, ORDER BY, DISTINCT).
  • Меньше операций на диске — MySQL будет держать данные в памяти, а не писать их в /tmp.
  • Стабильность — вы будете точно знать, сколько памяти может потребовать каждый запрос, и сможете планировать ресурсы VDS‑сервера.

Почему MySQL использует временные таблицы

Сценарий Что происходит Почему важна память
GROUP BY без индекса MySQL создаёт внутреннюю таблицу, чтобы собрать группы Если её размер ≤ tmp_table_size и ≤ max_heap_table_size, она хранится в RAM (HEAP‑engine).
ORDER BY с большой выборкой Сортировка выполняется во временной таблице Хранение в памяти ускоряет сортировку в разы.
JOIN с ON‑условиями, требующими сортировки MySQL может построить промежуточный набор Память — ключ к низкой латентности.

Если запись превышает заданные лимиты, MySQL «перепрыгивает» на MyISAM‑таблицу на диске, что в десятки раз медленнее.


Как работают параметры

  • tmp_table_size – максимальный размер одной внутренней таблицы в памяти.
  • max_heap_table_size – аналогичный лимит, но только для HEAP‑engine (т.е. таблиц, хранящихся в RAM).

MySQL сравнивает оба значения и берёт меньшее. Поэтому, чтобы гарантировать 256 МБ, нужно задать оба параметра именно на эту величину.

SET GLOBAL tmp_table_size = 268435456;   -- 256 МБ в байтах
SET GLOBAL max_heap_table_size = 268435456;

Важно: изменения через SET GLOBAL действуют до перезапуска сервера. Чтобы сделать их постоянными, добавьте их в my.cnf (или my.ini).


Как правильно задать параметры в my.cnf

[mysqld]
# Память, отводимая под временные таблицы
tmp_table_size = 256M
max_heap_table_size = 256M

# Если у вас много одновременно работающих запросов,
# учитывайте, что каждый может потребовать до 256 МБ.
# Поэтому общая память = (tmp_table_size + max_heap_table_size) * max_connections
# Пример: 200 соединений → 200 * 256 МБ ≈ 50 ГБ → проверьте, хватает ли RAM.

Как рассчитать безопасный лимит

  1. Определите среднее количество одновременных соединений (max_connections).
  2. Умножьте max_connections на 256 МБ.
  3. Снимите из общего объёма RAM (например например гБ .

Английский видеочат для путешествий
CamZamZam - онлайн фото с вебкамеры с эффектами
Чат рулетка 2026: Интерактивные элементы
Чат-рулетка: случайный собеседник в одно нажатие
Чат рулетка в 2026: будущие функции
Интерьер с использованием текстиля
Как настроить бэкапы для вашего сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как обновить PHP на хостинге Host.bg
Как решить проблемы с загрузкой сайта на Host.bg
Какие бывают ЛОР болезни у детей
Калькулятор зарплаты SEO-оптимизатора
Кассовые терминалы с оплатой картами
Монетизация через платные услуги
Мск: ИП или ООО — лучший старт для бизнеса?
Общение в интернете без риска
Общение вживую через экран
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Ошибки при настройке хостинга и их решения
Проблемы с доменами и их решения на хостинге Host.bg
Сколько стоит биткоин
Сравнение ценовых диапазонов хостинга Host.bg
Сумки с бусинами
Техника для строительства загородных трасс
Трубная продукция для трубопроводных конструкций
Узбекские фильмы фэнтези
Видео рулетка 18+
Видеочат с случайным собеседником онлайн
Видеообщения по всему миру
рейтинг хостингов 2026 Быстрые VDS серверы