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知识点整理
Apr 05 MySQL
多表查询、事务、DCL
Apr 05 MySQL
MySQL表的增删改查基础教程
Apr 07 MySQL
MySQL 表空间碎片的概念及相关问题解决
May 07 MySQL
MySQL中distinct和count(*)的使用方法比较
May 26 MySQL
MySQL中in和exists区别详解
Jun 03 MySQL
MySQL非空约束(not null)案例讲解
Aug 23 MySQL
MySQL into_Mysql中replace与replace into用法案例详解
Sep 14 MySQL
MySQL七大JOIN的具体使用
Feb 28 MySQL
MySQL Server层四个日志的实现
Mar 31 MySQL
sql注入报错之注入原理实例解析
Jun 10 MySQL
MYSQL中文乱码问题的解决方案
Jun 14 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
会计专业自荐信范文
2013/12/02 职场文书
转党组织关系介绍信
2014/01/08 职场文书
办公室人员先进事迹
2014/01/27 职场文书
中学教师培训制度
2014/01/31 职场文书
高校教师岗位职责
2014/03/18 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python