Настраиваем временные таблицы 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 - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы