• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mysql事务对效率的影响分析总结

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、数据库事务会降低数据库的性能。为了保证数据的一致性和隔离性,事务需要锁定事务。

2、如果其他事务需要操作这部分数据,必须等待最后一个事务结束(提交,回滚)。

实例

create table acct(
    acct_no varchar(32),
    acct_name varchar(32),
    balance decimal(16,2)
);
 
insert into acct values
    ('0001','Jerry', 1000),
    ('0002','Tom', 2000);
 
start transaction; -- 启动事务
update acct set balance = balance - 100 where acct_no = '0001'; -- 模拟扣款人
update acct set balance = balance + 100 where acct_no = '0002'; -- 模拟收款人
commit; -- 事务提交
rollback; -- 事务回滚

知识点扩展:

事务

  • 原子性:整个事务的所有操作要么全部提交成功,要么全部失败回滚
  • 一致性:指事务将数据库从一种一致性状态转换到另外一种一致性状态,在事务开始之前和事务结束后数据库中的完整性没有被破坏
  • 隔离性:要求一个事务对数据库中数据修改,在未提交完成前对其他事务是不可见的
  • 持久性:一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,已经提交的修改数据也不会丢失。

大事务

运行时间比较长,操作的数据比较多的事务

  • 锁定太多的数据,造成大量的阻塞和锁超时
  • 回滚时所需时间比较长
  • 执行时间长,容易造成主从延迟

如何处理大事务:

  • 避免一次处理太多的数据
  • 移出不必要在事务中的select操作

到此这篇关于mysql事务对效率的影响分析总结的文章就介绍到这了,更多相关mysql事务对效率的影响内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
浅谈redis缓存在项目中的使用发布时间:2022-02-08
下一篇:
Redis 配置文件重要属性的具体使用发布时间:2022-02-08
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap