次に示すスレッドの状態は、DELAYED
挿入の処理に関連付けられています
(項8.2.5.2. 「INSERT DELAYED
構文」を参照)。一部の状態は、クライアントからの
INSERT DELAYED
ステートメントを処理する接続スレッドに関連付けられています。ほかの状態は、行を挿入する遅延挿入ハンドラスレッドに関連付けられています。INSERT
DELAYED
ステートメントが発行された各テーブルに、遅延挿入ハンドラスレッドが存在します。
次に示す状態は、クライアントからの
INSERT DELAYED
ステートメントを処理する接続スレッドに関連付けられています。
スレッドは遅延挿入ハンドラスレッドに行を供給する準備をしています。
スレッドは DELAYED
挿入のハンドラを作成しています。
この状態は、接続スレッドが遅延挿入ハンドラスレッドにアクセスするときに、allocating
local table
状態の前、かつ
waiting for handler
lock
状態のあとに発生します。
この状態は waiting for
handler open
状態のあとに発生します。遅延挿入ハンドラスレッドは、初期化フェーズを終了したことを通知しました。初期化フェーズには、遅延挿入のためにテーブルを開く処理も含まれます。
スレッドは、遅延挿入ハンドラスレッドで挿入する必要のある行のリストに、新しい行を追加しています。
この状態は、初期化フェーズ中にスレッドがテーブルの遅延挿入ハンドラスレッドを探しているとき、かつ遅延挿入スレッドのリストに対するアクセスを取得しようとする前に発生します。
INSERT
DELAYED
ハンドラはすべての未解決の挿入を処理し、新しい挿入を待っています。
この状態は、接続スレッドが遅延挿入ハンドラスレッドへのアクセスを待機しているとき、allocating
local table
状態の前に発生します。
この状態は Creating delayed
handler
状態のあと、かつ
got old table
状態の前に発生します。接続スレッドは、開始したばかりの遅延挿入ハンドラスレッドが初期化されるのを待機しています。
次に示す状態は、行を挿入する遅延挿入ハンドラスレッドに関連付けられています。