在 mysql 中,”sc” 代表 second contract,它是一種事務隔離級別。second contract 隔離級別保證了讀已提交、不可重復讀取和幻讀屬性,可防止臟讀和不可重復讀取,同時允許幻讀。它通常用于需要高度一致性和并發性的應用程序中。
MySQL 中的 SC
在 MySQL 中,”SC” 縮寫代表 “Second Contract”,意思是第二種合約。它是一種事務隔離級別,可以為并發事務提供更高的可見性。
Second Contract 隔離級別
Second Contract 隔離級別保證了以下屬性:
讀已提交(RC):事務只能讀取已提交的事務所做的更改。
不可重復讀取(NRR):在同一事務中,對同一行的多次讀取不會返回不同的結果,即使有其他事務在該行上進行了提交。
幻讀(PR):事務不會看到其他事務插入的新行,直到該事務提交。
與其他隔離級別的比較
Second Contract 隔離級別與其他隔離級別的比較如下:
隔離級別 | 讀已提交 | 不可重復讀取 | 幻讀 |
---|---|---|---|
讀已提交 | ? | ? | ? |
可重復讀取 | ? | ? | ? |
Serializabl | ? | ? | ? |
Second Contract | ? | ? | ? |
使用場景
Second Contract 隔離級別通常用于需要高度一致性和并發性的應用程序中。它可以防止臟讀和不可重復讀取,同時允許幻讀。
在以下情況下可以使用 Second Contract 隔離級別:
需要確保事務之間的高度一致性。
需要避免臟讀和不可重復讀取。
可以接受幻讀。