IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MYSQL日志隔离级别演示 -> 正文阅读

[大数据]MYSQL日志隔离级别演示

首先连接mysql数据库,

创建测试表,插入3调数据

create table user(
id bigint,
name varchar(20),
age int
);
insert into user values (1,'1',1),(2,'2',2),(3,'3',3);

设置提交为手动提交

set autocommit=0;

查询mysql的隔离界别,发现是REPEATABLE-READ 可重复度

select @@transaction_isolation;

读未提交

修改隔离级别为读未提交(2个窗口都设置)

set session transaction isolation level read uncommitted;

查看隔离级别,发现设置成功

在2个窗口都开启事务测试:

然后在第二个窗口修改数据,不进行提交,发现窗口一能读取到未提交的数据

?

?读已提交(解决脏读问题)

设置日志隔离级别

set session transaction isolation level read committed;

?开启事务测试

窗口2

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> update user set name='wangwu';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

窗口1

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select *from user;
+------+------+------+
| id   | name | age  |
+------+------+------+
|    1 | lisi |    1 |
|    2 | lisi |    2 |
|    3 | lisi |    3 |
+------+------+------+

?

?开始提交数据

?

?可重复读(解决不可重复度问题,有幻读的问题)

不可重复读:两次读取的数据不一样

mysql> set session transaction isolation level REPEATABLE READ;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@transaction_isolation;
+-------------------------+
| @@transaction_isolation |
+-------------------------+
| REPEATABLE-READ         |
+-------------------------+
1 row in set (0.00 sec)

窗口2对数据修改并提交数据

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> update user set name='zhaoliu';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

窗口1查询数据,发现窗口2修改的数据没有读取到,两次读取的数据一致,因此解决了不可重复度问题

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select *from user;
+------+--------+------+
| id   | name   | age  |
+------+--------+------+
|    1 | wangwu |    1 |
|    2 | wangwu |    2 |
|    3 | wangwu |    3 |
+------+--------+------+
3 rows in set (0.00 sec)

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:00:40  更:2022-05-14 10:01:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 5:48:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码