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 08 MySQL
mysql数据库入门第一步之创建表
May 14 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
SQL基础查询和LINQ集成化查询
Jan 18 MySQL
mysql下的max_allowed_packet参数设置详解
Feb 12 MySQL
MySQL 开窗函数
Feb 15 MySQL
分享MySQL常用 内核 Debug 几种常见方法
Mar 17 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
数据分析数据库ClickHouse在大数据领域应用实践
Apr 03 MySQL
Mysql查询时间区间日期列表,不会由于数据表数据影响
Apr 19 MySQL
mysql函数之截取字符串的实现
Aug 14 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
很实用的一个完整email发送程序
2006/10/09 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
Python 专题一 函数的基础知识
2017/03/16 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
django创建简单的页面响应实例教程
2019/09/06 Python
python实现飞行棋游戏
2020/02/05 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
个人党性剖析材料
2014/02/03 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
奥林匹克的口号
2014/06/13 职场文书
体育运动会广播稿
2014/10/05 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
保卫工作个人总结
2015/03/03 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
教你用python实现12306余票查询
2021/06/30 Python
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js