‘InnoDBデッドロック’モニターは他のモニターとは多少異なるため、多少の説明が必要です。他のモニターではいずれもSHOW GLOBAL STATUS、SHOW GLOBAL VARIABLES、SHOW SLAVE STATUSからの戻り値が基準になっているのに対し、‘InnoDBデッドロック’モニターでは、SHOW ENGINE INNODB STATUSからの出力が基準になります。このステートメントは、先に挙げたステートメントとは、単独の離散値(単独の番号など)を返さず、代わりに多くの情報を込めた長いストリングを返します。この長いストリングから、何がデッドロックに関わっているのかという情報を抽出します。
このモニターで、‘Current(現在)’時間フレームと‘Delta(デルタ)’時間フレームを区別しようとしても意味はありません。以下のように SQL Diagnostic Managerでは同じように表示されるからです。
‘New Deadlock Detected(新しいデッドロックを検出しました)’は、前回の2つのデータ検索の間に、INNODB STATUSによって新しいデッドロックが報告されたことを表します。‘Latest Deadlock Detected(前回検出したデッドロック)’には、検出した前回のデッドロックに関する情報が(あれば)表示されます。SQL Diagnostic Managerに情報があるデッドロック状況をすべて表示するには、‘History(履歴)’時間フレームを使用します。
なお、SHOW ENGINE INNODB STATUSから返るデッドロック情報には、SQL Diagnostic Managerにも関係する制約が課せられています。それは、SHOW ENGINE INNODB STATUSが返す情報は、前回のデッドロックに関する情報だけなので、2回のデータ収集間隔の間に複数のデッドロックが発生しても、SQL Diagnostic Managerが報告するのは前回のデッドロックに関する情報だけだという制約です。
注意:Monyogをご利用の方
セキュリティ、過剰権限、InnDBデッドロック、レプリケーションの各カウンターを利用できるのは、Monyog Ultimateのみです。