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 相关文章推荐
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
May 29 MySQL
MySQL GRANT用户授权的实现
Jun 18 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
MySql 缓存查询原理与缓存监控和索引监控介绍
Jul 02 MySQL
MySQL中utf8mb4排序规则示例
Aug 02 MySQL
记一次Mysql不走日期字段索引的原因小结
Oct 24 MySQL
MySQL数据库查询进阶之多表查询详解
Apr 08 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 MySQL
Mysql排查分析慢sql之explain实战案例
Apr 19 MySQL
MySQL中的全表扫描和索引树扫描
May 15 MySQL
mysql字段为NULL索引是否会失效实例详解
May 30 MySQL
SQLServer常见数学函数梳理总结
Aug 05 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
如何使用PHP获取网络上文件
2006/10/09 PHP
?繁体转换的class
2006/10/09 PHP
php adodb分页实现代码
2009/03/19 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
Python简单计算文件夹大小的方法
2015/07/14 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
Python 可视化神器Plotly详解
2020/12/26 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
简单说说tomcat的配置
2013/05/28 面试题
村庄环境整治方案
2014/05/15 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
辞职信如何写
2015/02/27 职场文书
永远是春天观后感
2015/06/12 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers
Redis集群的关闭与重启操作
2021/07/07 Redis