Как я могу предоставить процессорное время серверу MySQL 5.7 (работающему как служба под управлением Windows 7)

#mysql #performance

Вопрос:

У меня есть следующие ситуации (MySQL 5.7/Windows 7)

  • alter table Запрос на добавление нового столбца. Существующий размер таблицы составляет порядка гигабайт
  • insert Запрос с примерно 5000 записями

Они не работают параллельно, это просто две тяжелые команды, демонстрирующие одну и ту же проблему.

В обоих случаях диспетчер задач показывает незначительный процент загрузки ЦП, хотя других процессов, требующих процессорного времени, нет. Это заставляет меня думать, что сервер MySQL в основном спит, и если бы у него было больше времени, запросы были бы выполнены намного быстрее.

Я даю снимок экрана с командой, часами Windows и менеджером задач. Вы можете легко увидеть, что команда выполняется в течение двух с половиной часов с примерно 1% процессорного времени. Невозможно предсказать, когда это закончится.

Как я могу предоставить больше процессорного времени серверу MySQL?

введите описание изображения здесь

Комментарии:

1. Windows 7 сейчас несколько устарела.

2. В вашем вопросе похоже, что MySQL на самом деле использует память, а не процессор. Ему требуется память/оперативная память больше, чем я ожидаю от процессора.

3. Пожалуйста, запросите дополнительную информацию. Размер оперативной памяти, # ядер, любые устройства SSD или NVME на хост-сервере MySQL? Сообщение на pastebin.com и делитесь ссылками. Из корня вашего входа в систему SSH, текстовые результаты: A) ВЫБЕРИТЕ КОЛИЧЕСТВО(*) ИЗ information_schema.tables; B) ПОКАЗАТЬ ГЛОБАЛЬНЫЙ СТАТУС; после как минимум 24 часов БЕЗОТКАЗНОЙ работы C) ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ; D) ПОКАЗАТЬ ПОЛНЫЙ СПИСОК ПРОЦЕССОВ; E) СТАТУС; не ПОКАЗЫВАТЬ СТАТУС, просто СТАТУС; G) ПОКАЗАТЬ СОСТОЯНИЕ INNODB ДВИГАТЕЛЯ; для анализа настройки рабочей нагрузки сервера, чтобы предоставить предложения.

4. Какая версия MySQL? Более новые версии могут оказать ADD COLUMN очень низкое влияние.