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


Posted in MySQL onOctober 24, 2021

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事务对效率的影响内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
详解MySQL事务的隔离级别与MVCC
Apr 22 MySQL
MySQL kill不掉线程的原因
May 07 MySQL
MySQL 存储过程的优缺点分析
May 20 MySQL
MySQL 外键约束和表关系相关总结
Jun 20 MySQL
SQL实现LeetCode(180.连续的数字)
Aug 04 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
mysql配置SSL证书登录的实现
Sep 04 MySQL
MySQL数据库10秒内插入百万条数据的实现
Nov 01 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
MySQL多表查询机制
Mar 17 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
Apr 18 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
第六节 访问属性和方法 [6]
2006/10/09 PHP
php 保留字列表
2012/10/04 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
javascript基本类型详解
2014/11/28 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
Python群发邮件实例代码
2014/01/03 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
scrapy爬虫实例分享
2017/12/28 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
黄河的主人教学反思
2014/02/07 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
医院科室评语
2015/01/04 职场文书
Oracle使用别名的好处
2022/04/19 Oracle