欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql事務隔離級別之讀提交詳解

 更新時間:2019年01月18日 11:20:36   作者:舊夢發(fā)癲  
這篇文章主要介紹了Mysql事務隔離級別之讀提交詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

查看mysql 事務隔離級別

mysql> show variables like '%isolation%';
+---------------+----------------+
| Variable_name | Value     |
+---------------+----------------+
| tx_isolation | READ-COMMITTED |
+---------------+----------------+
1 row in set (0.00 sec)

可以看到當前的事務隔離級別為 READ-COMMITTED 讀提交

下面看看當前隔離級別下的事務隔離詳情,開啟兩個查詢終端A、B。

下面有一個order表,初始數(shù)據(jù)如下

mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   1 |
+----+--------+
1 row in set (0.00 sec)

第一步,在A,B中都開啟事務

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

第二步查詢兩個終端中的number值

A

 mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   1 |
+----+--------+
1 row in set (0.00 sec)

B

 mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   1 |
+----+--------+
1 row in set (0.00 sec)

第三步將B中的number修改為2,但不提交事務

mysql> update `order` set number=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

第四步查詢A中的值

mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   1 |
+----+--------+
1 row in set (0.00 sec)

發(fā)現(xiàn)A中的值并沒有修改。

第五步,提交事務B,再次查詢A中的值

B

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

A

mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   2 |
+----+--------+
1 row in set (0.00 sec)

發(fā)現(xiàn)A中的值已經(jīng)更改

第六步,提交A中的事務,再次查詢A,B的值。

A

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

mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   2 |
+----+--------+
1 row in set (0.00 sec)

B

mysql> select * from `order`;
+----+--------+
| id | number |
+----+--------+
| 13 |   2 |
+----+--------+
1 row in set (0.00 sec)

發(fā)現(xiàn)A,B中的值都更改為2了。

下面給一個簡單的示意圖


我們可以看到,在事務隔離級別為讀已提交 的情況下,當B中事務提交了之后,即使A未提交也可以讀到B事務提交的結(jié)果。這樣解決了臟讀的問題。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Mysql實現(xiàn)合并多個分組(GROUP_CONCAT及其平替函數(shù))

    Mysql實現(xiàn)合并多個分組(GROUP_CONCAT及其平替函數(shù))

    MySQL 中提供了多種合并字符串的函數(shù)和操作方法,包括 GROUP_CONCAT、CONCAT_WS 和 CONCAT 等,本文介紹了 MySQL 中 GROUP_CONCAT 函數(shù)以及 CONCAT_WS、CONCAT 函數(shù)并通過示例代碼演示了它們的用法,感興趣的可以了解一下
    2023-10-10
  • 解析MySQL數(shù)據(jù)庫性能優(yōu)化的六大技巧

    解析MySQL數(shù)據(jù)庫性能優(yōu)化的六大技巧

    本篇文章是對MySQL數(shù)據(jù)庫性能優(yōu)化的六大技巧進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Mysql一主多從部署的實現(xiàn)步驟

    Mysql一主多從部署的實現(xiàn)步驟

    本文主要介紹了Mysql一主多從部署的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • MySQL實現(xiàn)分詞搜索(FULLTEXT)的方法

    MySQL實現(xiàn)分詞搜索(FULLTEXT)的方法

    這篇文章主要介紹了MySQL實現(xiàn)分詞搜索(FULLTEXT)的方法,包括全文搜索的簡單使用,建表添加FULLTEXT索引使用該技術非常簡單,首先需要有一張表,我建立了一張圖書表并插入了兩條數(shù)據(jù),需要的朋友可以參考下
    2022-10-10
  • 使用FriendFeed來提升MySQL性能的方法

    使用FriendFeed來提升MySQL性能的方法

    這篇文章主要介紹了使用FriendFeed來提升MySQL性能的方法,用其來存儲無模式的數(shù)據(jù)從而能夠維護索引,需要的朋友可以參考下
    2015-06-06
  • MySQL 各個索引的使用詳解

    MySQL 各個索引的使用詳解

    這篇文章主要介紹了MySQL 各個索引的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • mysql多主雙向和級聯(lián)復制

    mysql多主雙向和級聯(lián)復制

    這篇文章主要介紹了mysql多主雙向和級聯(lián)復制,架構(gòu)內(nèi)各個庫均同時開啟binlog的master和slave,主主庫額外開啟級聯(lián)復制開關,下面詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • mysql中如何對列求和

    mysql中如何對列求和

    這篇文章主要介紹了mysql中如何對列求和問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql 查詢數(shù)據(jù)庫中的存儲過程與函數(shù)的語句

    mysql 查詢數(shù)據(jù)庫中的存儲過程與函數(shù)的語句

    mysql 查詢數(shù)據(jù)庫中的存儲過程與函數(shù)的語句,需要的朋友可以參考下。
    2011-05-05
  • MySQL自增列解析(Auto_increment)

    MySQL自增列解析(Auto_increment)

    MySQL數(shù)據(jù)庫為列提供了一種自增屬性,本文主要介紹了MySQL自增列解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09

最新評論