裏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:ストレージエンジンの操作