MYSQL中如何使用handler

技术MYSQL中如何使用handler小编给大家分享一下MYSQL中如何使用handler,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HAN

边肖想和大家分享一下如何在MYSQL中使用handler。相信大部分人还是不太了解。因此,我想分享这篇文章供你参考。希望你看完这篇文章后收获多多。让我们一起来看看。

HANDLERtbl_nameOPEN[ASalias]

HANDLERtbl _ name readindex _ name {=|=|=| }(值1,值2,)

[where _ where条件][限制.]

HANDLERtbl _ name readindex _ name { FIRST | NEXT | PREV | LAST }

[where _ where条件][限制.]

HANDLERtbl _ name read { FIRST | NEXT }

[where _ where条件][限制.]

HANDLERtbl_nameCLOSEHANDLER语句提供了到表存储引擎接口的直接通道。HANDLER可用于MyISAM和InnoDB表。[@more@]

处理者.OPEN语句用于打开一个表,通过后续的HANDLER建立一个读取表的通道.READ语句。

该表目标不会被其他线程共享,并且在线程调用HANDLER之前不会关闭.关闭或线程终止。

如果使用别名打开表,则必须使用该别名而不是表名来进一步引用具有其他HANDLER语句的表。

如果指定的索引满足给定值并满足WHERE条件,则第一个HANDLER.READ语法取出一行。

如果有多列索引,请将索引列值指定为逗号分隔的列表。您可以为索引中的所有列指定值,

您也可以为索引列最左边的前缀指定一个值。假设一个索引包含三个名为col_a、col_b和col_c的列,它们按此顺序排列。

HANDLER语句可以为索引中的所有三列指定值,或者为最左边前缀中的每一列指定值。举个例子:

处理者.index _ name=(col _ a _ val,col _ b _ val,col _ c _ val).处理者.index _ name=(col _ a _ val,col _ b _ val)。索引的顺序符合WHERE条件。

第三个HANDLER.READ语法按照自然行的顺序从表中取出一行。自然行的顺序满足WHERE条件。

当您想要扫描整个表时,该语句比HANDLER tbl_name READ index_name更快。行的自然顺序是指存储在。

MyISAM表数据文件的顺序。这种说法也适用于InnoDB表,但是没有这样的概念,因为没有独立的数据文件。

没有LIMIT子句,所有形式的HANDLER.READ语句只取出一行。如果要返回多行,应该添加一个LIMIT子句。此声明发表于。

SELECT语句具有相同的语法。参见第13.2.7节“选择语法”。

处理者.CLOSE用于关闭用HANDLER打开的表.打开。

注意:要使用HANDLER接口查找表的主键,请使用带引号的标识符“PRIMARY”:

HANDLERtbl_nameREAD`PRIMARY `(.);HANDLER是一个相对低级的语句。例如,它不提供一致性。也就是说,HANDLER.OPEN不能对表进行快照,也不能锁定表。这意味着,

当HANDLER.OPEN语句被写入时,表数据可以被更改(由这个线程或其他线程),这些更改只会部分出现在HANDLER中.NEXT或HANDLER.PREV扫描。

使用HANDLER接口代替常规的SELECT语句有多个原因:

·         HANDLER比SELECT更快:

o        一个指定的存储引擎管理程序目标为了HANDLER...OPEN进行整序。该目标被重新用于该表的后续的HANDLER语句;不需要对每个语句进行重新初始化。

o        涉及的分析较少。

o        没有优化程序或查询校验开销。

o        在两个管理程序请求之间,不需要锁定表。

o        管理程序接口不需要提供外观一致的数据(例如,允许无条理的读取),所以存储引擎可以使用优化,而SELECT通常不允许使用优化。

·         有些应用程序使用与ISAM近似的接口与MySQL连接。使用HANDLER可以更容易地与这些应用程序连接。

·         HANDLER允许您采用一种特殊的方式进出数据库。而使用SELECT时难以采用(或不可能采用)这种方式。有些应用程序可以提供一个交

互式的用户接口与数据库连接。当与这些应用程序同时使用时,用HANDLER接口观看数据更加自然。

示例:

mysql> desc test1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| a     | int(11)     | YES  | MUL | NULL    |       |
| b     | varchar(45) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

mysql> show index from test1;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| test1 |          1 | ab       |            1 | a           | A         |           4 |     NULL | NULL   | YES  | BTREE      |         |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
1 row in set (0.00 sec)
mysql> handler test1 open;
Query OK, 0 rows affected (0.00 sec)
mysql> handler test1 read first;
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read next;
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
+------+------+

mysql> handler test1 read next;
Empty set (0.00 sec)

mysql> handler test1 read next;
Empty set (0.00 sec)

mysql> handler test1 read next;
Empty set (0.00 sec)

mysql> handler test1 read next;
Empty set (0.00 sec)

mysql> handler test1 read ab=(1);
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read ab=(2);
Empty set (0.00 sec)

mysql> handler test1 read ab=(3);
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
+------+------+
1 row in set (0.00 sec)

mysql> handler test1 read ab=(3) limit 10;
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
+------+------+
10 rows in set (0.00 sec)

mysql> handler test1 read ab=(3) limit 20;
+------+------+
| a    | b    |
+------+------+
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
|    3 | 4
  |
+------+------+
10 rows in set (0.00 sec)

以上是“MYSQL中如何使用handler”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52406.html

(0)

相关推荐

  • Context-React如何跨组件访问数据

    技术Context-React如何跨组件访问数据这篇文章给大家分享的是有关Context-React如何跨组件访问数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  Context提供了一种

    攻略 2021年12月3日
  • 蛋糕不蓬松的原因,蛋糕做出来会塌不泡是什么原因

    技术蛋糕不蓬松的原因,蛋糕做出来会塌不泡是什么原因蛋糕的膨发情况就与蛋白打发状态息息相关。蛋糕烤出来回缩蛋糕不蓬松的原因、总是膨发不起来是因为蛋白打发不到位,所以就算加了泡打粉也膨胀不起来。蛋糕塌陷!大家都知道热胀冷缩的

    生活 2021年10月30日
  • 择其善者而从之的从的意思,择其善者而从之的字的意思

    技术择其善者而从之的从的意思,择其善者而从之的字的意思孔子的“三人行择其善者而从之的从的意思,必有我师焉”这句话,受到后代知识分子的极力赞赏。他虚心向别人学习的精神十分可贵,但更可贵的是,他不仅要以善者为师,而且以不善者

    生活 2021年10月23日
  • Java并发之同步器设计的方法是什么

    技术Java并发之同步器设计的方法是什么本篇内容介绍了“Java并发之同步器设计的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月1日
  • Python中正则表达式的巧妙用法是怎么样的

    技术Python中正则表达式的巧妙用法是怎么样的Python中正则表达式的巧妙用法是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 前言正则表达

    攻略 2021年10月26日
  • 微信小程序swiper组件怎么创建(微信小程序的wxss文件作用)

    技术微信小程序中的wxs模块怎么用这篇文章将为大家详细讲解有关微信小程序中的wxs模块怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。WXS的使用wxs是专门用于wxml页面的,它

    攻略 2021年12月19日