Saya cukup terkejut bahwa saya tidak dapat melihat jawaban untuk ini di mana pun di situs sudah, atau dalam dokumentasi MySQL ( bagian 5.2 tampaknya memiliki logging kalau tidak tertutup dengan baik!)
Jika saya mengaktifkan binlog, saya melihat hit kinerja kecil (subyektif), yang diharapkan dengan sedikit IO tambahan - tetapi ketika saya mengaktifkan log kueri umum, saya melihat hit kinerja yang luar biasa (dua kali lipat waktu menjalankan kueri, atau lebih buruknya), jauh melebihi apa yang saya lihat dengan binlog. Tentu saja saya sekarang mencatat setiap SELECT dan juga setiap UPDATE / INSERT, tetapi, daemon lain mencatat setiap permintaan mereka (Apache, Exim) tanpa berhenti.
Apakah saya hanya melihat efek dari dekat dengan "titik kritis" kinerja ketika datang ke IO, atau ada sesuatu yang secara mendasar sulit tentang logging kueri yang menyebabkan ini terjadi? Saya ingin dapat mencatat semua permintaan untuk membuat pengembangan lebih mudah, tetapi saya tidak dapat membenarkan jenis perangkat keras yang rasanya seperti kita perlu untuk mendapatkan kinerja kembali dengan permintaan log masuk umum.
Saya, tentu saja, mencatat permintaan lambat, dan ada peningkatan yang dapat diabaikan dalam penggunaan umum jika saya menonaktifkan ini.
(Semua ini ada di Ubuntu 10,04 LTS, MySQLd 5.1.49, tetapi penelitian menunjukkan ini adalah masalah yang cukup universal)
sumber
Untuk menambah jawaban yang disediakan , Anda juga akan melihat performa yang baik jika Anda masuk ke perangkat yang sama dengan penyimpanan data MySQL Anda - jika itu disk yang sama, Anda akan membaca dan menulis ke beberapa lokasi sepanjang waktu, memperlambat seluruh proses.
Ini benar bahkan jika itu partisi yang berbeda pada disk fisik yang sama.
Jika masuk ke perangkat lain, itu akan meringankan beberapa masalah kinerja.
sumber