真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL中隔離級別的示例分析

這篇文章主要介紹MySQL中隔離級別的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有天元免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

MySQL入門--事務(wù)隔離級別

1) 隔離級別介紹

如果一個客戶機的事務(wù)更改了數(shù)據(jù),其他客戶機的事務(wù)是應(yīng)發(fā)現(xiàn)這些更改還是應(yīng)與其隔離,事務(wù)隔離級別可以確定同時進(jìn)行的事務(wù)在訪問相同數(shù)據(jù)時彼此交互的方式。使用存儲引擎可實現(xiàn)隔離級別。隔離級別選項在不同的數(shù)據(jù)庫服務(wù)器之間是不一樣的,因此, InnoDB 所實現(xiàn)的級別可能與其他數(shù)據(jù)庫系統(tǒng)所實現(xiàn)的級別并不完全對應(yīng)。InnoDB 可實現(xiàn)四種隔離級別,用于控制事務(wù)所做的更改在多大程度上可由其他同時進(jìn)行的事務(wù)注意到。四種隔離級別如下:

l  READ UNCOMMITTED:允許事務(wù)查看其他事務(wù)所進(jìn)行的未提交更改;允許發(fā)生“臟” 讀、不可重復(fù)讀和虛讀。

l  READ COMMITTED:允許事務(wù)查看其他事務(wù)所進(jìn)行的已提交更改;允許發(fā)生不可重復(fù)讀和虛讀。未提交的更改仍不可見。

l  REPEATABLE READ:確保每個事務(wù)的 SELECT 輸出一致,InnoDB 的默認(rèn)級別;無論其他事務(wù)所做的更改是否已提交,兩次都會獲得相同的結(jié)果。換句話說,也就是不同的事務(wù)會對相同的數(shù)據(jù)產(chǎn)生一致的結(jié)果。

l  SERIALIZABLE:將一個事務(wù)的結(jié)果與其他事務(wù)完全隔離;與 REPEATABLE READ 類似,但其限制性更強,即一個事務(wù)所選的行不能由其他事務(wù)更改,直到第一個事務(wù)完成為止。

MySQL中隔離級別的示例分析

2) 設(shè)置隔離級別

系統(tǒng)默認(rèn)事務(wù)級別為:repeatable-read

方法一、 服務(wù)器啟動時設(shè)置級別。

–  在mysqld 命令中使用--transaction-isolation選項。

–  在配置文件中設(shè)置transaction-isolation:

[mysqld]

transaction-isolation =

在選項文件中或在命令行上將 值設(shè)置為:

l  READ-UNCOMMITTED

l  READ-COMMITTED

l  REPEATABLE-READ

l  SERIALIZABLE

方法二、使用SET TRANSACTION ISOLATION LEVEL 語句為正在運行的服務(wù)器設(shè)置。

– 語法示例:

SET GLOBAL TRANSACTION ISOLATION LEVEL ;

SET SESSION TRANSACTION ISOLATION LEVEL ;

SET TRANSACTION ISOLATION LEVEL ;

對于SET TRANSACTION ISOLATION LEVEL 語句,將 值設(shè)置為:

l  READ UNCOMMITTED

l  READ COMMITTED

l  REPEATABLE READ

l  SERIALIZABLE。

此事務(wù)級別可以全局設(shè)置,也可以按會話設(shè)置。如果沒有顯式指定,則事務(wù)隔離級別將按會話進(jìn)行設(shè)置。例如,以下語句會將當(dāng)前mysql 會話的隔離級別設(shè)置為READ COMITTED:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

該語句相當(dāng)于:

SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

要設(shè)置所有后續(xù)mysql 連接的默認(rèn)級別,請使用GLOBAL 關(guān)鍵字,而不是SESSION:

SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

注:設(shè)置的全局默認(rèn)事務(wù)隔離級別適用于從設(shè)置時起所有新建立的客戶機連接。現(xiàn)有連接不受影響。

方法三、SET GLOBAL TX_ISOLATION

         需要 SUPER 權(quán)限

Mysql>set global tx_isolation=’ READ-COMMITTED’

         Mysql>select @@tx_isolation;

         Mysql>show variables like ‘tx_isolation’;

transaction_isolation MySQL 5.7.20引入,目的是替換即將棄用的tx_isolation(MySQL 8.0);

 (root@localhost) [information_schema]> show variables like '%isolat%';

+-----------------------+-----------------+

| Variable_name         | Value           |

+-----------------------+-----------------+

| transaction_isolation | REPEATABLE-READ |

| tx_isolation          | REPEATABLE-READ |

+-----------------------+-----------------+

transaction_isolation was added in MySQL 5.7.20 as an alias for tx_isolation, which is now deprecated and is removed in MySQL 8.0. Applications should be adjusted to use transaction_isolation in preference to tx_isolation.

以上是“MySQL中隔離級別的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:MySQL中隔離級別的示例分析
本文URL:http://weahome.cn/article/gjipdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部