MySQL 資料庫的一致性讀

2021-10-11 12:43:26 字數 687 閱讀 7399

mysql 在不同的事務隔離級別下提供兩種讀模式 一致性讀(非加鎖), 當前讀(加鎖讀)

一致性讀:利用mvcc機制讀取到某個事務已經提交的資料,其實是從undo裡面獲取的資料快照 。

事務的概念:由一組dml語句組成,要麼全部成功,要麼全部失敗。

事務的acid:

事務的併發問題:

事務的隔離級別:

隔離級別

髒讀可重複讀

幻讀ruyy

yrcny

yrrnn

ysnn

ninnodb的mvvc特性:

mvvc快照:

結合mvvc特性,我們就能很容易實現一致性讀,當一致性讀有種特殊情況,為當前讀。事務b在執行過程中事務c對k進行修改,事務b讀取的方式為當前讀。

更新資料都是先讀後寫的,而這個讀,只能讀當前的值,稱為「當前讀」(current read)。

資料讀一致性

undo段由兩個元件組成 undo頭和undo入口。undo段的第一塊是undo頭。undo被建立時僅有undo頭被建立。保留時間表 retention table 這是自動管理undo新增的乙個元件。儲存了undo段中每乙個區最後乙個事務提交的時間。事務表 transaction table 儲存...

資料庫一致性

資料庫一致性 database consistency 是指事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。保證資料庫一致性是指當事務完成時,必須使所有資料都具有一致的狀態。在關係型資料庫中,所有的規則必須應用到事務的修改上,以便維護所有資料的完整性。保證資料庫的一致性是資料庫管理...

Oracle資料庫一致性讀的原理

在oracle資料庫中,undo主要有三大作用 提供一致性讀 consistent read 回滾事務 rollback transaction 以及例項恢復 instance recovery 一致性讀是相對於髒讀 dirty read 而言的。假設某個表t中有10000條記錄,獲取所有記錄需要1...