前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL事务他快你慢,都是你自己惹的祸

MYSQL事务他快你慢,都是你自己惹的祸

作者头像
AustinDatabases
发布2019-10-13 14:44:24
7800
发布2019-10-13 14:44:24
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

实际事务DB里面常见的东西,没有事务的DB 那就不是DB ,但同样完成一个功能,并且书写也相似的存储过程逻辑(事务),怎么就快慢不一。

下面就来一个例子开刀, 下面是两个存储过程,往一个表里面插入10万条数据,同样的数据最后不一样的耗时。一个要将近1分钟,另一个 5秒钟,同样的功能,同样的结果。

下面是两个存储过程

建表语句

快的那个存储过程

慢的要死的存储过程

实际上两个存储过程,唯一的不一样在于对commit 的时机的把控,一个是每个插一条就要commit一次,另一个是在循环完毕后,在进行数据的commit;

这与mysql的redo 的原理有关。当然如果第二个存储过程将

set @@session.autocommit=0;

去掉

并且也将 start transactionl , commit 去掉,那结果也是一样的慢,MYSQL 默认是 auto commit 自动提交,这点与oracle 是不一样的。

那PostgreSQL 是不是也是这样,在实验中,使用不同样的方法处理的时间大致是相同的,相关的问题 下次说

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档