什麼是隔離等級
決定要把同時執行之交易間的干擾防止到什麼程度的設定。SQL標準規格中有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE共4個等級,等級越高越能防止髒讀、不可重複讀取與幻影讀取,但能同時處理的量也越少。
日文名稱: 分離レベル
「隔離等級」出現在1領域的3道練習題中(資料庫基礎等)。
這個名詞所屬的領域: 資料庫基礎
決定要把同時執行之交易間的干擾防止到什麼程度的設定。SQL標準規格中有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE共4個等級,等級越高越能防止髒讀、不可重複讀取與幻影讀取,但能同時處理的量也越少。
日文名稱: 分離レベル
「隔離等級」出現在1領域的3道練習題中(資料庫基礎等)。
這個名詞所屬的領域: 資料庫基礎
正確答案:B. 不會發生髒讀,但可能發生不可重複讀取與幻影讀取
SQL標準規格依可防止之現象由少到多的順序,定義了READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE共4個隔離等級。在READ UNCOMMITTED下,3種現象都可能發生。READ COMMITTED只讀取已提交的資料,因此能防止髒讀,但每次讀取都會看到當下已提交的值,因此可能發生不可重複讀取與幻影讀取。REPEATABLE READ進一步防止不可重複讀取,但仍可能發生幻影讀取。SERIALIZABLE能防止全部3種現象,保證結果與依某種順序逐一執行交易時相同。隔離等級越高,等待鎖與重新執行的情況越多,能同時處理的量也越少,因此要依用途選擇。實際的DBMS中,預設的隔離等級以及各等級實際能防止的現象,有時比標準規格的最低要求更嚴格。
SQL標準規格依可防止之現象由少到多的順序,定義了READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE共4個隔離等級。
在SQL標準規格所定義的隔離等級中,關於READ COMMITTED下可能發生之現象的組合,下列何者正確?這些都是交易的隔離性不足時發生的問題,在SQL中透過設定隔離等級,選擇要防止到什麼程度。
在同時執行交易時發生的問題中,下列何者正確說明了髒讀(Dirty read)?依SQL的標準規格,把隔離等級設為SERIALIZABLE就不會發生幻影。
交易T1執行 SELECT COUNT(*) FROM 訂單 WHERE 金額 >= 1000,結果為8筆。緊接著T2…