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
MySQL索引知识的一些小妙招总结
May 10 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
面试提问mysql一张表到底能存多少数据
Mar 13 MySQL
关于k8s环境部署mysql主从的问题
Mar 13 MySQL
mysql 生成连续日期及变量赋值
Mar 20 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
Mar 23 MySQL
MySQL创建管理KEY分区
Apr 13 MySQL
MySQL三种方式实现递归查询
Apr 18 MySQL
mysql sock文件存储了什么信息
Jul 15 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python入门之基础语法学习笔记
2020/02/08 Python
python之生成多层json结构的实现
2020/02/27 Python
python 负数取模运算实例
2020/06/03 Python
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
JAVA代码查错题
2014/10/10 面试题
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
自我评价怎么写好呢?
2013/12/05 职场文书
办公室文书岗位职责
2013/12/16 职场文书
母亲节演讲稿
2014/05/27 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python