パフォーマンステストでMySQLでスロークエリを検出する方法
MySQLでスロークエリをログ出力する方法です。
mysql> show variables like 'slow%'; +---------------------+--------------------------+ | Variable_name | Value | +---------------------+--------------------------+ | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | DESKTOP-DNSQQ62-slow.log | +---------------------+--------------------------+ 3 rows in set, 1 warning (0.06 sec)
slow_query_logがOFFになっていたらmy.ini(my.cnf)でONにします。
また、指定した秒以上かかったSQLのみをログ出力することが可能です。
mysql> show variables like 'long%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set, 1 warning (0.00 sec)
my.ini
slow-query-log=1 slow_query_log_file="DESKTOP-DNSQQ62-slow.log" long_query_time=1 // 1秒以上かかるSQLはログ出力するように設定変更する
slow_query_log_fileで指定したログファイルは、C:\ProgramData\MySQL\MySQL Server 5.7\Data
配下に出力されます。
これでMySQLサービスを再起動すると、指定した秒数より遅いスロークエリはログに出力されるようになります。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント