首页 > 数据库 >MySQL幻读

MySQL幻读

时间:2023-05-27 21:34:31浏览次数:45  
标签:事务 隔离 幻读 T2 T1 MySQL 级别

幻读是关系型数据库中一种事务隔离级别(如MySQL的可重复读隔离级别)下的一种现象,指在一个事务中执行相同的查询语句,但是由于其他事务的插入、更新或删除操作而导致结果集不一致的情况。

举个例子,假设有两个事务 T1 和 T2,同时执行以下操作:

T1:SELECT * FROM table WHERE column='value';

T2:INSERT INTO table (column) VALUES ('value');

如果 T1 执行 SELECT 时,T2 正在执行 INSERT 操作,那么 T1 的查询结果将会包含 T2 插入的新记录,而这并不符合 T1 执行时的预期结果,即出现了幻读现象。

为了避免幻读现象,可以使用更高级别的事务隔离级别(如Serializable),但需要注意的是,隔离级别越高,并发性能就越差。因此,在实际应用中需要根据具体情况进行权衡和选择。

标签:事务,隔离,幻读,T2,T1,MySQL,级别
From: https://blog.51cto.com/u_15954840/6363104

相关文章

  • mysql explain语句
    explain语句select_type表type字段描述idselect识别符。这是select的查询序列号,id的值越大优先级别越高,越先被执行,如果id相同,执行顺序右上至下select_type表示select语句的类型。<br>==SIMPLE== 表示简单查询,其中不包括连接查询和子查询。<br>==PRIMARY==......
  • MHA(MySQL High Availability)高可用性工具补数据功能
    目录背景MHA补数据功能关于补数据的补充说明参考背景在介绍MHA补数据功能之前先介绍一些关于MHA的基础知识。MHA(MySQLHighAvailability)是一个用于实现MySQL数据库高可用性(HighAvailability)的工具集。它可以在主从复制架构中实现故障切换和主库切换,以确保数据库服务的稳定......
  • Canal 安装 && 使用,监听Mysql数据库
    1.下载canal.deployer-1.1.5.tar.gz2.查看数据库是否开启binlog模式(必须)showvariableslike'log_%';log_bin属性值为ON,则binlog模式开启;为OFF则binlog模式关闭。若binlog模式关闭,则在MySQL配置文件my.cnf(my.ini)设置如下信息:[mysqld]log-bin=mysql-bin#开启binlogbi......
  • MySQL增量备份的使用
    登录mysql数据库创建数据库HB3051,数据库中创建student表设置结构表中插入数据备份HB3051数据库中的student表备份HB3051数据库备份mysql数据库中的user表和server表备份所有数据库删除HB3051数据库恢复备份误删除的HB3051数据库模拟HB3051数据库中的student表备份删除查看表是否删......
  • MySQL的sql语句执行流程(简述)
    导言:MySQL和服务器端对接的时候,我们知道一般就是服务器端会打包一些SQL命令去增删改查数据库,这个打包的数据库SQL语句数据包一般为4MB,再大一些就不会被数据库端接收了但是我们可以自己更改默认大小,当数据包到达数据库端以后,它们会经历那些操作然后返回结果给服务器端呢?大概有:查......
  • 在 Kubernetes 上部署 RadonDB MySQL 集群
    1.mysql部署部署参考文档:https://radondb.com/docs/mysql/v2.2.0/installation/on_kubernetes/#content参数:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/docs/zh-cn/config_para.md官网:https://radondb.comhelmrepoaddradondbhttps://radondb.github.......
  • 一个mysql的group_concat导致的问题
    好久都没有写点东西了,是时候有点写东西的必要了。去年下年底离职了,躺了几个月,最近又兜兜转转换了一家公司继续当牛马了,前段时间八股文背了好多,难受呀,不过我也趁着前段时间自己也整理了属于我自己的八股文,有好几万字吧,哈哈哈,以后就不用到处去找八股文了。说回正题,这......
  • Mysql练习
    1. 练习11.1 选择题   811代码在E:\java学习\初级\course166\db_exercise01--选择题写法对错判断811--错误,as可以省略但是AnnualSalary中间有空格会被认为Salary是最终的别名SELECTename,sal*12ASAnnualSalaryFROMempSELECTename,sal*12AS"AnnualSalary"FR......
  • MySQL学习进阶篇Day2
    2.索引2.1索引概述2.1.1介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 一提到数据结构,大......
  • MySQL数据类型
    数据类型的选取原则:更小的通常更好:尽量使用可以正确存储数据的最小数据类型(它们占用更少的磁盘,内存,cpu缓存,处理时需要的cpu周期也更少)简单:简单数据类型的操作通常所需cpu周期更少,例如整型就是比字符串类型的操作代价更低尽量避免NULL:最好指定列为NOTNULL,如果......