一、MySQL數(shù)據庫全局隔離級別和默認隔離級別的區(qū)別
1、作用范圍
全局隔離級別是針對整個MySQL數(shù)據庫服務器的,它影響所有連接到數(shù)據庫服務器的會話和事務的隔離級別。默認隔離級別是針對每個數(shù)據庫連接的,它是在創(chuàng)建新連接時使用的默認隔離級別。
2、設置方式
全局隔離級別通過配置MySQL服務器的參數(shù)進行設置。在MySQL的配置文件中,可以使用transaction-isolation
參數(shù)指定全局隔離級別。默認隔離級別是通過tx_isolation
全局參數(shù)設置的,可以通過修改該參數(shù)來更改默認隔離級別。
3、影響對象
全局隔離級別會影響所有新創(chuàng)建的連接和事務的隔離級別。默認隔離級別只影響新建立的連接的隔離級別,對于已經建立的連接,它們將繼續(xù)使用它們自己的隔離級別。
4、優(yōu)先級關系
默認隔離級別是全局隔離級別的一部分,即默認隔離級別是全局隔離級別的初始值。如果在創(chuàng)建新連接時未顯式設置隔離級別,則會使用默認隔離級別。在創(chuàng)建新事務時,如果未顯式設置隔離級別,則會使用連接的隔離級別,如果連接的隔離級別未設置,則使用默認隔離級別。
5、可覆蓋性
全局隔離級別和默認隔離級別都可以被單獨的會話或事務級別的設置所覆蓋。在每個事務或會話中,可以使用SET TRANSACTION ISOLATION LEVEL
語句來設置特定的隔離級別,以覆蓋全局隔離級別和默認隔離級別。