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 06 MySQL
解决MySQL存储时间出现不一致的问题
Apr 28 MySQL
MySQL update set 和 and的区别
May 08 MySQL
如何用Navicat操作MySQL
May 12 MySQL
详解mysql三值逻辑与NULL
May 19 MySQL
MySQL 百万级数据的4种查询优化方式
Jun 07 MySQL
MySQL非空约束(not null)案例讲解
Aug 23 MySQL
MySQL学习之基础命令实操总结
Mar 19 MySQL
mysql的Buffer Pool存储及原理
Apr 02 MySQL
mysql 乱码 字符集latin1转UTF8
Apr 19 MySQL
mysql中如何用命令创建联合唯一索引
Apr 20 MySQL
MySQL添加索引特点及优化问题
Jul 23 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
php中用文本文件做数据库的实现方法
2008/03/27 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
php实现过滤UBB代码的类
2015/03/12 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
JavaScript 特殊字符
2007/04/05 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
跟老齐学Python之list和str比较
2014/09/20 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
个人实习生的自我评价
2014/02/16 职场文书
汽车促销活动方案
2014/03/31 职场文书
工厂车间标语
2014/06/19 职场文书
妇女工作先进事迹
2014/08/17 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
自我推荐信格式模板
2015/03/24 职场文书
医院员工辞职信范文
2015/05/12 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
浅谈Python协程asyncio
2021/06/20 Python