免費開始練習
高考申論題 114年 [資訊處理] 資料庫應用

第 二 題

二、請說明下列兩種事務隔離級別的差異,並針對每種隔離級別各舉一個可能造成資料不一致的實際情境:⑴Read Committed, ⑵Repeatable Read。(10 分)此外,請說明為何某些資料庫系統預設使用 Read Committed 而非 Serializable。(10 分)
📝 此題為申論題

思路引導 VIP

看到這題,首先應回想資料庫交易(Transaction)的四種隔離級別以及它們分別解決與遺留的併發問題(Dirty Read、Non-repeatable Read、Phantom Read)。接著透過具體的讀寫時序來舉例資料不一致的情境;最後從「效能(並發度)與一致性的權衡(Trade-off)」角度,切入解釋為何實務上多預設為 Read Committed。

🤖
AI 詳解 AI 專屬家教

【破題】 交易隔離級別(Isolation Level)旨在處理多個交易並行執行時可能產生的資料不一致問題。不同級別在「資料一致性」與「系統並發效能」之間進行權衡。 【論述】

▼ 還有更多解析內容
📝 交易隔離級別與一致性
💡 在資料一致性與系統併發效能之間取得平衡的技術規範。
比較維度 Read Committed VS Repeatable Read
髒讀 (Dirty Read) 可避免 可避免
不可重複讀 會發生 (單筆異動) 可避免
幻讀 (Phantom) 會發生 (筆數增減) 會發生 (通常)
併發效能 高 (鎖定時間短) 中 (鎖定時間長)
典型資料庫 Oracle, SQL Server MySQL (InnoDB)
💬Read Committed 適合多數高併發場景,RR 則提供更強的單筆讀取一致性。
🧠 記憶技巧:隔離級別口訣:髒、不、幻。級別越高,防禦越多,效能越低。
⚠️ 常見陷阱:易混淆「不可重複讀」(單筆更新)與「幻讀」(範圍插入)的定義;忽略 Serializable 會導致嚴重的死結與效能瓶頸。
ACID 特性 多版本併發控制 (MVCC) 樂觀鎖 vs 悲觀鎖 髒讀 (Dirty Read)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料庫交易管理:並行控制、回復與隔離性
查看更多「[資訊處理] 資料庫應用」的主題分類考古題