Я весьма удивлен тем, что нигде не вижу ответа на этот вопрос ни на сайте, ни в документации по MySQL ( кажется, что в разделе 5.2 все остальное хорошо освещено!)
Если я включаю binlogs, я вижу небольшое снижение производительности (субъективно), которое следует ожидать с небольшим дополнительным вводом-выводом - но когда я включаю общий журнал запросов, я вижу огромный удар по производительности (вдвое больше времени для выполнения запросов, или хуже), намного больше того, что я вижу с бинлогами. Конечно, теперь я регистрирую каждый SELECT, а также каждый UPDATE / INSERT, но другие демоны записывают каждый свой запрос (Apache, Exim) без остановки.
Я просто вижу эффект от приближения к «переломному моменту» производительности, когда дело доходит до ввода-вывода, или есть что-то принципиально сложное в протоколировании запросов, которое вызывает это? Мне бы хотелось иметь возможность регистрировать все запросы, чтобы упростить разработку, но я не могу обосновать тип оборудования, на котором, как нам кажется, нам нужно было бы восстанавливать производительность при общем входе в систему запросов.
Я, конечно, регистрирую медленные запросы, и общее отключение незначительно улучшается, если я отключаю это.
(Все это на Ubuntu 10.04 LTS, MySQLd 5.1.49, но исследования показывают, что это довольно универсальная проблема)
источник
Чтобы добавить к предоставленному ответу , вы также увидите снижение производительности, если вы входите в систему на том же устройстве, на котором находятся ваши хранилища данных MySQL - если это один и тот же диск, вы будете выполнять чтение и запись в нескольких местах. все время замедляя весь процесс.
Это верно, даже если это другой раздел на том же физическом диске.
Если ведение журнала происходит на другом устройстве, это должно устранить некоторые проблемы с производительностью.
источник