1. 程式人生 > >資料庫事務的一些面試問題

資料庫事務的一些面試問題

 事務
作為單個邏輯工作單元執行的一系列操作。
事務的特性:
①原子性:事務作為一個整體被執行,要麼全部執行,要麼全部不執行。
②一致性:保證資料庫的狀態從一個一致狀態轉變為另一個一致狀態。
③隔離性:多個事務併發執行時,一個事務的執行並不影響其他事務的執行。
④永續性:一個事務一旦提交,對資料庫的修改應該永久儲存。

事務的併發訪問問題(由隔離性引起):
①髒讀:B事務讀取到了A事務尚未提交的資料。
②不可重複讀:一個事務中,兩次讀取的資料的內容不一致。
③幻讀/虛讀:一個事務中,兩次讀取的資料的數量不一致。

事務的隔離級別:
答:讀未提交、讀已提交、可重複讀和序列化
①讀取尚未提交的資料:哪個問題都不能解決。
②讀取已經提交的資料:可以解決髒讀。
oracle預設。
③重讀讀取:可以解決髒讀,不可重複讀。
mysql預設。
④序列化:都可以解決。---相當於鎖表,一般沒人用,效率太低。

擴充套件問題:MySQL 事務預設隔離級別是哪個?
答:可重複讀。