• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql直连通过handler读取数据

mysql 搞代码 7年前 (2018-06-06) 175次浏览 已收录 0个评论

mysql直接通过handler读取数据
前几天在mysql文档中发现了它有个handlerhttp://dev.mysql.com/doc/refman/5.1/en/handler.html,
号称比select要快,因为省略了sql解析,查询优化等环节,也不用提供一致性读.
所以用mysqlslap测试一下

 CREATE TABLE `20130122handler` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `uid` int(11) NOT NULL,   `content` varchar(50) NOT NULL,   PRIMARY KEY (`id`),   KEY `20130122handler_idx_uid` (`uid`) ) ENGINE=InnoDB 

欢迎大家阅读《mysql直连通过handler读取数据》,跪求各位点评,by 搞代码

表里600w条随机数据

[mysqlslap]
query=”D:/mysql-5.1.63-node1/mysqlslap-query_handler.sql”
create-schema=”crap”
delimiter=”;”
concurrency=1
iterations=200

mysqlslap-query_handler.sql内容为

HANDLER 20130122handler open as h;
HANDLER h read  20130122handler_idx_uid=(26010200);
HANDLER h read  20130122handler_idx_uid=(23742985);
……

一共有100个HANDLER h read
测试三次,结果如下

Benchmark
        Average number of seconds to run all queries: 0.035 seconds
        Minimum number of seconds to run all queries: 0.000 seconds
        Maximum number of seconds to run all queries: 1.032 seconds
        Number of clients running queries: 1
        Average number of queries per client: 101

Benchmark
        Average number of seconds to run all queries: 0.030 seconds
        Minimum number of seconds to run all queries: 0.000 seconds
        Maximum number of seconds to run all queries: 1.016 seconds
        Number of clients running queries: 1
        Average number of queries per client: 101

Benchmark
        Average number of seconds to run all queries: 0.025 seconds
        Minimum number of seconds to run all queries: 0.000 seconds
        Maximum number of seconds to run all queries: 1.032 seconds
        Number of clients running queries: 1
        Average number of queries per client: 101
      
换成了
select  * from 20130122handler where uid=26010200;
select  * from 20130122handler where uid=23742985;
……

结果为

Benchmark
        Average number of seconds to run all queries: 0.055 seconds
        Minimum number of seconds to run all queries: 0.015 seconds
        Maximum number of seconds to run all queries: 1.031 seconds
        Number of clients running queries: 1
        Average number of queries per client: 100

Benchmark
        Average number of seconds to run all queries: 0.050 seconds
        Minimum number of seconds to run all queries: 0.015 seconds
        Maximum number of seconds to run all queries: 1.032 seconds
        Number of clients running queries: 1
        Average number of queries per client: 100

Benchmark
        Average number of seconds to run all queries: 0.044 seconds
        Minimum number of seconds to run all queries: 0.015 seconds
        Maximum number of seconds to run all queries: 1.032 seconds
        Number of clients running queries: 1
        Average number of queries per client: 100
看来还是有一定的性能的提升.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql直连通过handler读取数据

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址