クエリ数を計測しておくと、既存コードの修正やリリースした際に、どの程度増減したかを観測できる。
繰り返し取得する事で、その差分を算出すれば、区間時間内のクエリ実行数を算出することも可能である。
[ワンライナー]
mysql -u hoge -ppassword -ppassword -NBe "SHOW GLOBAL STATUS" | grep "Com_" | grep -E "select|insert|update|delete"
[オプション]
- N … 結果にカラム名を出力しない、--skip-column-namesと同等
- B … カラム区切り文字としてタブを使用し、各行を新しい行に出力する、--batchと同等
- e … -eの後のstatementを実行して終了する、--execute=statementと同等
なお、デフォルトの出力形式は、--batch で生成されるものと同様である。
そのため、-eオプションを設定している場合は、-Bは不要かもしれない。
[参考リンク]
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.1.1 mysql のオプション