mysql中的隔離級別

什麼是隔離級別?

    隔離級別是特地對數據庫中的事務而言的,兩個事務在操做時可否對相互之間的操做時時看到,就是事務之間的隔離級別。數據庫

    因而可知,有了多個事務隔離級別纔有意義,單一的事務上講隔離級別是沒有任何意義的。安全

隔離級別的分類

    隔離級別根據從低到高依次分爲Read Uncommitted、Read Committed、Repeatable Read、Serializable四種,這四種隔離級別從低到高效率在增長,但安全性在下降。spa

    那麼這四種隔離級別是怎樣劃分的呢?事務

    要理解隔離級別的劃分,就必定要了解兩個事務之間看到數據不一致的狀況。大體上有三種狀況 :ci

    1.髒讀    就是一個事務能夠看到另外一個事務在沒有提交以前對數據進行的修改。it

    2.不可重複讀    一個事務查詢同一批數據,但兩次查詢結果會由於另外一個事務的提交而不同。table

    3.幻讀    一個事務進行同一個查詢,能夠查詢到以前沒有的數據。效率

    根據對這三種狀況的避免類型,大體上就能夠劃分了這四種隔離了:數據

各個隔離級別對出現狀況的避免狀況
  髒讀 不可重複讀 幻讀
Read Uncommitted 不可避免 不可避免 不可避免
Read Committed 可避免 不可避免 不可避免
Repeatable Read 可避免 可避免 不可避免
Serializable 可避免 可避免 可避免
相關文章
相關標籤/搜索