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)

相关推荐

  • 如何让Python爬取招聘网站数据并实现可视化交互大屏

    技术如何让Python爬取招聘网站数据并实现可视化交互大屏如何让Python爬取招聘网站数据并实现可视化交互大屏,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的

    攻略 2021年10月26日
  • 怎么用python实现一个指数运算

    技术怎么用python实现一个指数运算本篇内容主要讲解“怎么用python实现一个指数运算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python实现一个指数运算”吧

    攻略 2021年11月4日
  • 蘑菇定律,成也细节,败也细节讲的是什么

    技术蘑菇定律,成也细节,败也细节讲的是什么1.奥格尔维定律:善用比我们自己更优秀的人 2.光环效应:全面正确地认识人才 3.不值得定律:让员工选择自己喜欢做的工作 4.蘑菇管理定律:尊重人才的成长规律 5.贝尔效应:为有

    生活 2021年10月30日
  • 如何探讨Java代理模式与反射机制的实际应用

    技术如何探讨Java代理模式与反射机制的实际应用如何探讨Java代理模式与反射机制的实际应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java提供了一套

    攻略 2021年11月21日
  • jackson 怎么创建json(jackson解析json)

    技术如何使用@JacksonInject与@JsonAlias注解如何使用@JacksonInject与@JsonAlias注解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的

    攻略 2021年12月13日
  • 现代云架构中的AWS服务器群和数据库是怎么样的

    技术现代云架构中的AWS服务器群和数据库是怎么样的这篇文章给大家介绍现代云架构中的AWS服务器群和数据库是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当今云计算技术成了主流的架构和互联网基

    攻略 2021年12月2日