選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

隔離層級的定義

焦點模式
隔離層級的定義 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ACID 中的 "I" 代表隔離。交易的隔離程度決定了其他並行交易可能影響其操作的資料有多少。

SQL:1992 標準 建立了描述隔離層級的詞彙。它定義了兩個並行交易 (Tx1Tx2) 之間可能發生的三種互動 (它稱為「現象」):

  • Dirty read – 當 Tx1 修改項目,然後 Tx2Tx1 遞交了變更之前讀取該項目,就會發生此情況。然後,如果 Tx1 從未成功遞交變更或將其回復,則 Tx2 已讀取從未進入資料庫的值。

  • Non-repeatable read – 當 Tx1 讀取項目,接著 Tx2 修改或刪除該項目並遞交變更,然後 Tx1 嘗試重新讀取該項目時,便會發生此情況。Tx1 現在會讀取與之前不同的值,或發現該項目不再存在。

  • Phantom read – 當 Tx1 讀取一組滿足搜尋條件的項目,接著 Tx2 新增符合搜尋條件的新項目,然後 Tx1 重複搜尋時,便會發生此情況。Tx1 現在取得與之前不同的一組項目。

這三種類型的互動,每一種都可能導致資料庫中產生的資料不一致。

SQL:1992 標準定義了四種隔離層級,在三種互動類型以及它們可能產生的不一致性方面具有不同的保證。在所有四個層級,可以保證交易完全執行或完全不執行:

  • READ UNCOMMITTED – 允許所有三種互動 (亦即,已變更讀取、不可重複讀取及幽靈讀取)。

  • READ COMMITTED – 已變更讀取是不可行,但不可重複讀取和幽靈讀取卻可行。

  • REPEATABLE READ – 已變更讀取或不可重複讀取全都不可行,但幽靈讀取仍然可行。

  • SERIALIZABLE – 三種類型的互動現象都不能發生。

多版本並行控制 (MVCC) 允許另一種隔離,即 SNAPSHOT 隔離。這保證在交易開始時,交易可在存在之資料的快照上操作,而且其他交易都不能變更該快照。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。