MYSQLが遅かったとき、原因究明のため調べたこと
ターミナルでMYSQLに接続して・・・
1.show processlistでQUERYの実行時間を調べる
2.innodb_thread_concurrencyを確認
InnoDB の処理を同時に実行できるスレッド数の上限値
コマンド
——————————-
show variables like ‘%thread%’
——————————-
上限なしの0なので問題なし
3.max_connectionsを確認
max_connectionsは同時接続数の最大値
コマンド
——————————-
show variables like ‘%conection%’
——————————-
151と出たので問題なし
4.mysqladminコマンドでMySQLサーバの状態を調べる
ディレクトリ移動(xamppの場合)
——————————-
C:\xampp\mysql\bin
——————————-
コマンド(パスワードなし)
——————————-
mysqladmin status
——————————-
コマンド(パスワードあり、xamppの場合)
——————————-
mysqladmin status -u ユーザー名 -p
——————————-
詳しく見る場合
——————————-
mysqladmin mysqladmin extended-status
——————————-
こちらを参考にした
エラーが出てることに気づいたので、
——————————-
lock wait timeout exceeded; try restarting transaction
——————————-
ロックの待ち時間を確認してみる。
コマンド
——————————-
show variables like ‘%timeout%’
——————————-
innodb_lock_wait_timeoutが50秒であることを確認。
この件は、テーブルにインデックスをつけることで問題は解決した。
こちら
ただの覚書でした。