msql事务隔离级别 线上问题

1.

对应代码

解决方式:

在事务隔离级别为可重复读(RR)时,数据库确实通常会记录当前数据的快照。

在可重复读隔离级别下,事务在执行期间看到的数据是事务开始时的数据快照,即使其他事务对数据进行了修改,该事务也不会看到这些修改,直到它提交并重新开始新的事务。

这种方式可以确保在同一个事务中多次读取相同的数据时,结果是一致的,从而实现了可重复读的特性。

这一特性有一些优点和注意事项:

优点

  • 数据一致性:对于需要多次读取相同数据并基于此进行计算或决策的事务非常有用,可以确保数据在事务执行过程中的一致性,避免出现不可预测的结果变化。

注意事项

  • 可能导致幻读:虽然可重复读可以防止脏读和不可重复读,但在某些情况下可能会出现幻读问题。例如,一个事务在两次查询之间,其他事务插入了满足查询条件的数据,那么第二次查询可能会看到新插入的数据,就像出现了 "幻觉" 一样。
  • 并发性能影响:维护数据快照需要一定的资源,可能会对数据库的并发性能产生一定的影响,特别是在高并发环境下。

如果在实际应用中使用可重复读隔离级别,需要充分考虑其特性对业务逻辑和系统性能的影响,并根据具体情况进行适当的调整和优化。

相关推荐
梓沂10 分钟前
CentOS 7.9 静默安装 Oracle 11gR2 企业版全记录
linux·oracle·centos
做萤石二次开发的哈哈40 分钟前
萤石蓝海AIoT一站式工作台计费说明
网络·数据库·萤石开放平台·蓝海aiot一站式工作台
竹枝溪41 分钟前
MySQL数据库零基础入门
数据库·sql·mysql·navicat·ddl·dml·dql
龙仔7251 小时前
人大金仓Kingbase V8 自动全量备份部署完整笔记
数据库·笔记·备份·人大金仓
王志来137944730081 小时前
从选型到交付,工控服务器机箱一站式采购平台匀天如何实现服务闭环?
数据库
ShuiShenHuoLe1 小时前
HmarkX(码笺)的本地数据库模块重构实战
数据库·oracle·重构
Databend1 小时前
从 Kafka 到 Databend Cloud:万亿级 Agent Trace 接入链路的工程实践
大数据·数据库·agent
倔强的石头_1 小时前
SQL Server数据迁移,不只是把数据搬过去
数据库
MC皮蛋侠客1 小时前
Redis 系列(五):持久化——RDB、AOF 与混合持久化
数据库·redis·bootstrap
acd120092 小时前
Redis 缓存和数据库一致性,到底怎么搞?
数据库·redis·缓存