之前曾發表過對mysql事物隔離級別的相關說明的文章,本次通過做實驗來驗證mysql的此級別。
Time | Session 1 | Session 2 |
T1 | set autocommit=0; | set autocommit=0; |
T2 | mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 1 |+——+———+1 row in set (0.00 sec) | |
T3 | mysql> update test set version=2 where id=1;Query OK, 1 row affected (0.02 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 2 |+——+———+1 row in set (0.00 sec) | |
T4 | mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 1 |+——+———+1 row in set (0.00 sec)【說明】Session 2未提交,看到數據不變,無髒讀。 | |
T5 | commit; | |
T6 | mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 1 |+——+———+1 row in set (0.00 sec)【說明】Session 2已經提交,還是看到數據不變,即可以重複讀。 | |
T7 | commit; | |
T8 | mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 2 |+——+———+1 row in set (0.00 sec)【說明】提交事務,看到最新數據。 | |
T9 | mysql> insert into test values(2,1);Query OK, 1 row affected (0.00 sec)mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 2 || 2 | 1 |+——+———+2 rows in set (0.00 sec)mysql> commit;Query OK, 0 rows affected (0.00 sec) | |
T10 | mysql> select * from test; +——+———+| id | version |+——+———+| 1 | 2 |+——+———+1 row in set (0.00 sec)【說明】Session 2的insert事務已經提交,看到的數據和T8的時候一樣,即未發生幻象讀。 | |
T11 | mysql> commit; Query OK, 0 rows affected (0.00 sec)mysql> select * from test;+——+———+| id | version |+——+———+| 1 | 2 || 2 | 1 |+——+———+2 rows in set (0.00 sec)【說明】事務提交,看到最新數據。 |
通過上面的對比,可以看出mysql默認的隔離級別,也就是reaptable read(重複讀)時,不允許dirty read、nonreaptable read、phantom read的。
此文章驗證了mysql默認的隔離級別所產生的效果,如有不足,歡迎大家指正!共同學習~~~
相關推薦
'“戲精奶爸”帶娃一起演戲火了,娃一臉迷茫:這爹怕是傻了吧?'
"在不一樣的家庭中,帶出來的娃都是不同的,而不一樣的家庭,最大的決定因素就是奶爸和寶媽。受奶爸和寶媽的影響,很多寶寶從小就比較喜歡進行模仿,而很多動作也都是來源於生活的細節當中的。所以說,在很大程度上,奶爸寶媽的行為是直接影響寶寶的。而有時候一些戲精版的奶爸也會走寶寶的路,...
'孩子生氣時,這幾句話會讓他心情好起來,趕緊學習吧'
"孩子和家長差著20多歲的歲數,自然是兩代人其中會有著不少的隔閡,而作為熊孩子,如果不作的話,又怎麼能叫做熊孩子?熊孩子最讓人不放心的一點,除了很鬧騰之外就是無法控制自己的情緒。無論是大吵大鬧,還是生悶氣,又或者是用哭來宣洩自己的不滿,都是從孩子們的慣用手段,很多家長看到...
'清華python之父:一份Python學習清單,這可能是全完最權威的了吧'
"站在風口上,豬都能飛起來。人工智能風口,讓Pyhon這門膠水語言轉變成非常火的網紅語言。編程功力深厚的程序員花一兩個星期就能上手Python,而一些新手程序員花幾個月就可以上手。學編程,用Python確實是一個相當不錯的選擇。不過,面對Python網上有紛雜的資料,一些程...
'|乾貨|某機構內部教學資源,Mysql Sql語句註釋大全實例'
"這篇文章主要介紹了Mysql Sql語句註釋大全,需要的朋友可以參考下MySQL的SQL語句裡面是可以加註釋的,下面給大家介紹mysql sql語句註釋大全,一起看看吧!1、說明:創建數據庫CREATE DATABASE database-name2、說明:刪除數據庫dr...
'|乾貨|北大教授教學總結的Mysql Sql語句註釋大全實例分享'
"這篇文章主要介紹了Mysql Sql語句註釋大全,需要的朋友可以參考下MySQL的SQL語句裡面是可以加註釋的,下面給大家介紹mysql sql語句註釋大全,一起看看吧!1、說明:創建數據庫CREATE DATABASE database-name2、說明:刪除數據庫dr...
'MySQL的查詢如何更快,更合理?除了加索引還有什麼可以學習的?'
"背景在這個快速發展的時代,時間變得 越來越重要,也流逝得非常得快,有些人長大了,有些人卻變老了。稍不留神,2019已經過完了三分之一。回首這四個月收穫什麼,懂得了什麼?歡迎留言分享給我喲。言歸正傳: MySQL的查詢怎麼才能更快,更合理?除了加索引還有什麼可以學習的呢?原...
推薦中...