SHUTDOWN
该语句停止MySQL服务器
HELP 'search_string'
该HELP语句从MySQL参考手册返回在线信息。搜索字符串可以包含通配符 %和_
:
DO expr [, expr] ...
DO执行表达式,但不返回任何结果。在大多数情况下, DO是select的简写形式,但是具有以下优点:当您不关心结果时,它会稍快一些
HANDLER语句
HANDLER tbl_name OPEN [ [AS] alias]
#获取其中指定的索引满足给定值且满足WHERE条件的行。如果您有多列索引,则将索引列值指定为以逗号分隔的列表。
HANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,...)
[ WHERE where_condition ] [LIMIT ... ]
#语法以匹配WHERE条件的索引顺序从表中获取一行
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
[ WHERE where_condition ] [LIMIT ... ]
#以符合WHERE条件的自然行顺序从表中获取一行 。它比需要进行全表扫描的速度更快 。自然行顺序是在表数据文件中存储行的顺序
HANDLER tbl_name READ { FIRST | NEXT }
[ WHERE where_condition ] [LIMIT ... ]
HANDLER tbl_name CLOSE
语句提供对表存储引擎接口的直接访问。可用于 InnoDB和MyISAM表
该HANDLER ... OPEN语句将打开一个表,使其可以使用后续HANDLER ... READ语句进行访问。这个表对象不被其他会话共享,并且在会话调用处理程序HANDLER ... CLOSE或会话终止之前不会关闭
如果使用别名打开表,则其他HANDLER语句对打开的表的进一步引用必须使用别名而不是表名。如果不使用别名,而是使用数据库名称限定的表名称打开表,则其他引用必须使用非限定的表名称。例如,对于使用打开的表 mydb.mytable,必须使用mytable进一步的引用。
如果没有LIMIT子句,则所有形式的HANDLER ... READ都将提取一行(如果有的话)。要返回特定数量的行,请包含一个LIMIT子句
TRUNCATE TABLE一个表时,将关闭用HANDLER OPEN打开的表的所有处理程序。
使用HANDLER接口而不是普通SELECT 语句有多种原因
- HANDLER快于SELECT:
- 涉及的解析较少。
- 没有优化程序或查询检查开销。
- HANDLER是一个有点低级的陈述。例如,它不提供一致性。也就是说, HANDLER ... OPEN它不走表的快照,并不能锁定表。这意味着在发出HANDLER ... OPEN语句之后,可以修改表数据(通过当前会话或其他会话),并且这些修改可能仅对部分内容可见HANDLER ... NEXT或对其HANDLER ... PREV进行扫描。
- 可以关闭一个打开的处理程序并将其标记为重新打开,在这种情况下,处理程序将丢失其在表中的位置。当同时满足以下两种情况时,会发生这种情况:
- 任何会话在处理程序的表上执行FLUSH TABLES或执行DDL语句。
- 打开处理程序的会话执行使用表的非HANDLER处理程序语句。