裏MySQLクエリー入門 低レベルレイヤーでのデータベース操作 HANDLER構文

 今回は、handlersocket pluginの元となるものといっても差し支えのないHANDLER構文について解説したいと思います。HANDLER構文はMySQLのストレージエンジンを直接操作するSQLです。1つのSQL文をMySQLに投げた時の内部処理*1を実行できるイメージです。具体的には、ストレージエンジンをOPOEN、1行づつFETCH、CLOSEといった流れになります。ストアドプロシージャで言うところのカーソルに近いイメージですね。

ストレージエンジンのテーブルをOPENするCLOSEする

ファイルのopen、closeと同じようなイメージです。

  • ストレージエンジンをOPENする
HANDLER tbl_name OPEN
  • ストレージエンジンをCLOSEする
HANDLER tbl_name CLOSE

1行づつFETCHする

  • 指定したINDEXを使って最初の1行を取得
HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...)
  • 指定したINDEXを使って前回取得したINDEXの前後を取得
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
  • INDEXが存在しない場合(フルスキャン用)
HANDLER tbl_name READ { FIRST | NEXT }

*1:ストレージエンジンの操作