SQL 與資料轉換 基礎

SQL 交易與 ACID 特性

AI 練習作答

請說明資料庫交易的 ACID 特性與隔離層級。

ACID

  • Atomicity(原子性):交易內所有操作要嘛全成功,要嘛全回滾。
  • Consistency(一致性):交易執行前後,資料庫都處於合法狀態。
  • Isolation(隔離性):並發交易互相隔離,彷彿依序執行。
  • Durability(持久性):已提交的交易,即使系統崩潰也不會丟失。

隔離層級(由低到高)

  • READ UNCOMMITTED:可能有髒讀、不可重複讀、幻讀。
  • READ COMMITTED:防髒讀,但可能不可重複讀、幻讀。
  • REPEATABLE READ:防髒讀與不可重複讀,但可能幻讀。
  • SERIALIZABLE:完全隔離,無任何讀異常,但並發最低。

層級越高越安全,但並發性能越低。PostgreSQL 預設 READ COMMITTED,MySQL InnoDB 預設 REPEATABLE READ。

常見讀異常

  • 髒讀:讀到另一交易未提交的資料。
  • 不可重複讀:同一交易內兩次讀同一行,結果不同。
  • 幻讀:同一交易內兩次查詢,第二次出現新行。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分