mysql事务对效率的影响分析总结

 更新时间:2021年10月24日 11:10:40   作者:小妮浅浅  
在本篇文章里小编给大家分享的是一篇关于mysql事务对效率的影响分析总结内容,有需要的朋友们可以跟着学习下。

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 group by分组后如何将每组所得到的id拼接起来

    MySQL group by分组后如何将每组所得到的id拼接起来

    这篇文章主要介绍了MySQL group by分组后如何将每组所得到的id拼接起来,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 使用LEFT JOIN 统计左右存在的数据问题

    使用LEFT JOIN 统计左右存在的数据问题

    最近做了一个数据模块的统计,统计企业收款、发票相关的数据,开始统计是比较简单,后面再拆分账套统计就有点小复杂,这篇文章主要介绍了使用LEFT JOIN 统计左右存在的数据,需要的朋友可以参考下
    2022-10-10
  • MySQL进阶查询、聚合查询和联合查询

    MySQL进阶查询、聚合查询和联合查询

    这篇文章主要介绍了MySQL数据库的进阶查询,聚合查询及联合查询,文中有详细的代码示例,需要的朋友可以参考阅读
    2023-04-04
  • MySQL SQL语句优化的10条建议

    MySQL SQL语句优化的10条建议

    这篇文章主要介绍了MySQL中SQL语句优化需要注意的10点,,特别是大型高并发网站,需要的朋友可以参考下
    2014-03-03
  • mysql迁移至8.0时的注意事项(小结)

    mysql迁移至8.0时的注意事项(小结)

    这篇文章主要介绍了mysql迁移至8.0时的注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Mysql数据库的QPS和TPS的意义和计算方法

    Mysql数据库的QPS和TPS的意义和计算方法

    今天小编就为大家分享一篇关于Mysql数据库的QPS和TPS的意义和计算方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • MySQL尾部空格处理方法详解

    MySQL尾部空格处理方法详解

    这篇文章主要介绍了MySQL尾部空格处理方法详解的相关资料,通过创建合适的索引来实现区分有尾部空格和没有尾部空格的字符串,需要的朋友可以参考下
    2023-07-07
  • windows 64位下MySQL 8.0.15安装教程图文详解

    windows 64位下MySQL 8.0.15安装教程图文详解

    本文通过图文并茂的形式给大家介绍了MySQL 8.0.15安装教程(windows 64位),非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • MySQL基于SSL协议进行主从复制的详细操作教程

    MySQL基于SSL协议进行主从复制的详细操作教程

    这篇文章主要介绍了MySQL基于SSL协议进行主从复制的详细操作教程,示例环境基于Linux系统以及OpenSSL客户端,需要的朋友可以参考下
    2015-12-12
  • Mysql数据库性能优化二

    Mysql数据库性能优化二

    这篇文章主要介绍了Mysql数据库性能优化二 的相关资料,需要的朋友可以参考下
    2016-04-04

最新评论