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 中相关的锁
May 25 MySQL
MySQL 时间类型的选择
Jun 05 MySQL
新手入门Mysql--sql执行过程
Jun 20 MySQL
MySQL连接控制插件介绍
Sep 25 MySQL
SQL 聚合、分组和排序
Nov 11 MySQL
MySQL 开窗函数
Feb 15 MySQL
mysql 获取时间方式
Mar 20 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
Apr 26 MySQL
解决Mysql中的innoDB幻读问题
Apr 29 MySQL
Mysql中@和@@符号的详细使用指南
Jun 05 MySQL
MySQL示例讲解数据库约束以及表的设计
Jun 16 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
Jul 15 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
基于文本的访客签到簿
2006/10/09 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
优秀学生干部个人事迹材料
2014/06/02 职场文书
创先争优公开承诺书
2014/08/30 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript