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查询的控制语句图文详解
Apr 11 MySQL
MySQL约束超详解
Sep 04 MySQL
一条 SQL 语句执行过程
Mar 17 MySQL
MySQL 分区表中分区键为什么必须是主键的一部分
Mar 17 MySQL
一次Mysql update sql不当引起的生产故障记录
Apr 01 MySQL
mysql的Buffer Pool存储及原理
Apr 02 MySQL
详解MySQL的主键查询为什么这么快
Apr 03 MySQL
MySQ InnoDB和MyISAM存储引擎介绍
Apr 26 MySQL
MySQL中的全表扫描和索引树扫描
May 15 MySQL
mysql数据库实现设置字段长度
Jun 10 MySQL
MySQL远程无法连接的一些常见原因总结
Sep 23 MySQL
mysql事务隔离级别详情
mysql主从复制的实现步骤
记一次Mysql不走日期字段索引的原因小结
Oct 24 #MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 #MySQL
MySQL七种JOIN类型小结
MySQL中的引号和反引号的区别与用法详解
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 #MySQL
You might like
ADODB类使用
2006/11/25 PHP
php数组的一些常见操作汇总
2011/07/17 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python仿抖音表白神器
2019/04/08 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
四年级科学教学反思
2014/02/10 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
2014年化验员工作总结
2014/11/18 职场文书
自主招生专家推荐信
2015/03/26 职场文书
中学总务处工作总结
2015/08/12 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL
python中validators库的使用方法详解
2022/09/23 Python