數據庫事務的隔離級別有4種,由低到高分別爲Read uncommitted 、Read committed 、Repeatable read 、Serializable 。html
大多數數據庫默認的事務級別隔離級別是Read committed、好比Sql Server,Oracle。Mysql的默認級別是Repeatable readsql
事務隔離級別數據庫 |
髒讀ubuntu |
不可重複讀性能 |
幻讀spa |
讀未提交(read-uncommitted)htm |
是blog |
是事務 |
是ci |
讀提交(read-committed) |
否 |
是 |
是 |
可重複讀(repeatable-read) |
否 |
否 |
是 |
串行化(serializable) |
否 |
否 |
否 |
名詞解釋:
讀未提交:就是一個事務能夠讀取另外一個未提交事務的數據。
讀提交:就是一個事務要等另外一個事務提交後才能讀取數據。
重複讀:就是在開始讀取數據(事務開啓)時,再也不容許修改操做。
Serializable 是最高的事務隔離級別,在該級別下,事務串行化順序執行,能夠避免髒讀、不可重複讀與幻讀。可是這種事務隔離級別效率低下,比較耗數據庫性能,通常不使用。
例子(找資料的時候發現這篇博客比較好理解):
https://www.cnblogs.com/ubuntu1/p/8999403.html