資料庫事務特性、併發、隔離級別、鎖種類、鎖粒度
阿新 • • 發佈:2019-01-09
本文解釋資料庫併發控制
事務
對資料庫資料執行的一系列操作,可以是一條或者多條SQL語句
資料庫事務特性
1、 原子性
對資料庫資料的一系列操作,要麼全部執行,要麼都不 執行
2、 一致性
資料庫從一個一致狀態轉到另一個一致狀態
3、 隔離性
多個事務對資料庫的操作要相互隔離
4、 永續性
事務提交後的資料在資料庫中是永久存在的
資料庫併發操作產生的異常現象:
1、 髒讀
讀取一個事務未提交的資料
2、 不可重複讀
一個事務中多條相同讀取語句執行結果不一致,針對更新和刪除
3、 幻讀
一個事務中多條相同讀取語句執行結果不一致,針對增加
4、 更新丟失(X鎖)
一個事務的更新操作被另一個事務覆蓋
資料庫的隔離級別
1、 讀未提交(S鎖)
可以讀取一個事務未提交的資料
2、 讀已提交(U鎖)
只能讀取一個事務已提交的資料
3、 可重複讀(X鎖)
一個事務在讀取的時候不允許其他事務更新刪除操作
4、 序列化(X鎖)
一個事務只能等待另一個事務完成後才可以進行
鎖粒度
屬性值——》元組——》行——》表