キーキャッシュプローブは、MyISAM ストレージエンジンと一緒に使用されるインデックスキーキャッシュを使用するときにトリガーされます。プローブは、データがキーキャッシュに読み取られる場合、キャッシュされたキーデータがキャッシュからキャッシュファイルに書き込まれる場合、またはキーキャッシュにアクセスする場合にモニターするために存在します。
キーキャッシュの使用状況は、インデックスファイルからキャッシュにデータが読み取られたか書き込まれた時期を示し、キーキャッシュに割り当てられたメモリーが効率的に使用されているかモニターするために使用できます。あるクエリーの範囲においてキーキャッシュの読み取り数が大きいとき、アクセスされるデータのサイズに対してキーキャッシュが小さすぎることを示している場合があります。
keycache-read-start(filepath, bytes, mem_used, mem_free)
keycache-read-block(bytes)
keycache-read-hit()
keycache-read-miss()
keycache-read-done(mem_used, mem_free)
keycache-write-start(filepath, bytes, mem_used, mem_free)
keycache-write-block(bytes)
keycache-write-done(mem_used, mem_free)
データをインデックスファイルからキーキャッシュに読み取るとき、プロセスは最初に (keycache-read-start
によって指示される) 読み取り操作を初期化し、データのブロックをロードします (keycache-read-block
)。このとき、読み取りブロックが識別されたデータと一致したか (keycache-read-hit
)、データをさらに読み取る必要がある (keycache-read-miss
) 場合があります。読み取り操作が完了したら、keycache-read-done
によって読み取りが停止します。
データがインデックスファイルからキーキャッシュに読み取られるのは、指定されたキーがキーキャッシュにまだ存在しない場合に限られます。
keycache-read-start
: キーキャッシュ読み取り操作が開始されたときにトリガーされます。データは指定されたfilepath
から読み取られ、指定されたbytes
数だけ読み取られます。mem_used
およびmem_avail
は、キーキャッシュによって現在使用されているメモリーと、キーキャッシュ内で使用可能なメモリーの量を示します。keycache-read-block
: キーキャッシュが指定されたbytes
数のデータのブロックをインデックスファイルからキーキャッシュに読み取ったときにトリガーされます。keycache-read-hit
: インデックスファイルから読み取ったデータのブロックが、リクエストされたキーデータと一致したときにトリガーされます。keycache-read-miss
: インデックスファイルから読み取ったデータのブロックが、必要なキーデータと一致しないときにトリガーされます。keycache-read-done
: キーキャッシュ読み取り操作が完了したときにトリガーされます。mem_used
およびmem_avail
は、キーキャッシュによって現在使用されているメモリーと、キーキャッシュ内で使用可能なメモリーの量を示します。
キーキャッシュ書き込みは、INSERT
、UPDATE
、または DELETE
操作中にインデックス情報が更新され、キャッシュされているキー情報がインデックスファイルにフラッシュバックされるときに発生します。
keycache-write-start
: キーキャッシュ書き込み操作が開始されるときにトリガーされます。データは指定されたfilepath
に書き込まれ、指定されたbytes
数が読み取られます。mem_used
およびmem_avail
は、キーキャッシュによって現在使用されているメモリーと、キーキャッシュ内で使用可能なメモリーの量を示します。keycache-write-block
: キーキャッシュが指定されたbytes
数のデータのブロックをキーキャッシュからインデックスファイルに書き込むときにトリガーされます。keycache-write-done
: キーキャッシュ書き込み操作が完了したときにトリガーされます。mem_used
およびmem_avail
は、キーキャッシュによって現在使用されているメモリーと、キーキャッシュ内で使用可能なメモリーの量を示します。