1、说明
handler语句不具备select语句的所有功能。handler是mysql专用的语句,没有包含到SQL标准中。它每次只能查询1次记录,而select可以根据需要返回多条查询结果。资料上说它可以降低优化器对于SQL语句的解析与优化开销,从而提升查询性能。
2、handler语法
HANDLER table_name OPEN [ [AS] a]
HANDLER table_name READ index_name { = | <= | >= | < | > } (value1,value2,...)
[ WHERE where_condition ] [LIMIT ... ]
HANDLER table_name READ index_name { FIRST | NEXT | PREV | LAST }
[ WHERE where_condition ] [LIMIT ... ]
HANDLER table_name READ { FIRST | NEXT }
[ WHERE where_condition ] [LIMIT ... ]
HANDLER tbl_name CLOSE
通过HANDLER table_name OPEN打开一张表,无返回结果,
通过HANDLER table_name READ FIRST获取数据表第一行,通过将 READ FIRST改成READ NEXT依次获取其它行。有点类似于指针。
通过HANDLER table_name CLOSE来关闭打开的表。
通过索引去查看的话可以按照一定的顺序,获取表中的数据。
通过HANDLER table_name READ index_name FIRST,获取句柄第一行(索引最小的一行),NEXT获取下一行,PREV获取前一行,LAST获取最后一行(索引最大的一行)。
通过索引列指定一个值,可以指定从哪一行开始。