1. 程式人生 > >資料庫事務四大特性————ACID

資料庫事務四大特性————ACID

ACID-----A:Atomicity -原子性     C:Consistency -一致性     I:Isolation -隔離性    D:Durability - 永續性

事務:事物(transaction)是由一些列操作序列構成的執行單元,這些單元要麼都做,要麼不做,是一個不可分割的工作單元。

A:all or none

C:在事務之前,資料庫具有一致性在事務結束之後資料庫同樣也必須具有一致性。例如A和B兩個人轉賬,A向B轉100,在轉之前A和B的財產總和是X,轉完之後A和B的財產總和還是X。

I:在事務執行的過程中不收併發執行的事務影響,就是說在A事務執行的時候,B事務要麼在A事務執行前執行,要麼在A事務執行後執行

D:一個事務的完成對資料庫的改變是永久的,即使是系統遇到故障也不會丟失。

著重學習一下Isolation:對於隔離性的實現,就需要使用鎖來實現,資料庫中最常見的兩種鎖,X鎖和S鎖

X鎖:X鎖又叫做排它鎖或者寫鎖,如果一個事務A對資料物件加上X鎖,那麼其他事務既不能對資料物件進行讀也不能進行寫,只有A事務可以對資料進行讀或寫

S鎖:S鎖又叫做共享鎖或者讀鎖,如果一個事務A對資料物件加上S鎖,那麼A只能對資料進行讀操作,並且其他事物只能再對資料加S鎖,只有等A的所有S鎖都釋放後,其他事物才可以對資料物件上X鎖。在資料物件上所有S鎖釋放前,他是不可被更改的。

舉兩個簡單例子

A:    select * from table (請想象它需要執行很久)
B:    update table set c1='aa'

過程:
A執行 (加共享鎖)
B執行  (想要加排它鎖但是表已經被加上了共享鎖,所以不能加X鎖)
If A 還沒執行完
   B等......
else
    A的共享鎖釋放
    B加上排他鎖之後執行
endif

資料庫還有另一種鎖就是更新鎖:更新鎖的意思是,現對資料物件加上共享鎖,並且擁有將共享鎖升級為排它鎖的資格,一個數據物件只能上一個更新鎖,更新所可以和共享鎖共存,但不能和排它鎖共存。

T1:
begin tran
select * from table(updlock) (加更新鎖)
update table set column1='hello'
T2:
begin tran
select * from table(updlock)
update table set column1='world'

更新鎖的意思是:“我現在只想讀,你們別人也可以讀,但我將來可能會做更新操作,我已經獲取了從共享鎖(用來讀)到排他鎖
(用來更新)的資格”。一個事物只能有一個更新鎖獲此資格。

T1執行select,加更新鎖。
T2執行,準備加更新鎖,但發現已經有一個更新鎖在那兒了,只好等。

當後來有user3、user4...需要查詢table表中的資料時,並不會因為T1的select在執行就被阻塞,照樣能查詢,相比起例6,這提高
了效率。

相關推薦

資料庫事務四大特性————ACID

ACID-----A:Atomicity -原子性     C:Consistency -一致性     I:Isolation -隔離性    D:Durability - 永續性事務:事物(transaction)是由一些列操作序列構成的執行單元,這些單元要麼都做,要麼不

python事務四大特性ACID

完成 所有 特性 事務提交 失敗 數據庫 原子性 數據操作 允許 1.原子性 整個事務中的所有操作要麽全部提交成功,要麽全部失敗回滾,對於一個事務來說,不可能只執行其中的一部分操作 2.一致性 一致性就是在沒有提交事務前,不管理對數據操作多少次,真實的數據都不會改動,只有提

資料庫事務四大特性事務隔離級別在mysql中的具體體現

事務的四大特性 原子性 指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 一致性 指事務必須使資料庫從一個一致性狀態轉換到另一個一致性狀態。拿轉賬來說,不管如何轉賬,錢的總數不變。 隔離性 指多個使用者訪問資料庫時,使用者為每個資

資料庫事務四大特性ACID

資料庫事務是指作為單個邏輯工作單元執行的一系列操作,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。 資料庫事務的四大特性(簡稱ACID)是:  (1) 原子性(Atomicity) 事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修

資料庫事務事務四大特性(ACID)、三大併發問題、四種鎖、四大隔離級別以及它們的實現

資料庫事務 事務(Transaction)是併發控制的基本單位。所謂的事務,它是一個操作序列,這些操作要麼都執行,要麼都不執行,它是一個不可分割的工作單位。 (資料庫引擎innoDB是支援事務的(預設每一條sql語句為一個事務),MyISAM不支援事務。) 在關係資料庫中,

數據庫事務四大特性ACID

遇到 它的 兩種 說明 提示 pos pda .html 但是 本篇講訴數據庫中事務的四大特性(ACID),並且將會詳細地說明事務的隔離級別。 如果一個數據庫聲稱支持事務的操作,那麽該數據庫必須要具備以下四個特性: ⑴ 原子性(Atomicity)   原子性是指事務包含的

事務四大特性--ACID

ACID ---- 原子性、一致性、隔離性、永續性 原子性 就是一系列的操作,要麼都執行,要麼都不執行。當一個事務發生異常的時候,就會通過回滾來保證原子性。在mysql中,原子性是通過回滾日誌來實現的,回滾日誌就是我們的操作的逆操作。 永續性 事務提交之後一定會儲存到資料庫中,如

資料庫四大特性以及事務的隔離級別,七種傳播行為

資料庫的四大特性: 1.原子性 2.一致性 3.隔離性 4.永續性 其中不考慮事務的隔離性會出現下面幾種情況: (1)髒讀 在一個事務處理過程裡讀取了另一個未提交的事務中的資料。 當一個事務正在多次修改某個資料,而在這個事務中這多次的修改都還未提交,這時一個併

數據庫事務中的四大特性ACID

enc 系統 不出 需要 整數 數據 情況下 iso 應該 一、概念   數據庫事務中的四大特性(ACID):   A:原子性(Atomicity),一個事務(transaction)中的所有操作,要麽全部完成,要麽全部不完成,不會結束在中間某個環節。     事務在

資料庫事務特性及隔離級別

一、事務      事務(Transaction)是併發控制的基本單位。所謂的事務,它是一個操作序列,這些操作要麼都執行,要麼都不執行,它是一個不可分割的工作單位。而這些邏輯工作單元需要具有原子性,  一致性,隔離性和永續性四個屬性,統稱為ACID特性。 二、事務的4個基本特

資料庫四大特性四大隔離級別

資料庫事務的四大特性以及事務的隔離級別   本篇講訴資料庫中事務的四大特性(ACID),並且將會詳細地說明事務的隔離級別。   如果一個數據庫聲稱支援事務的操作,那麼該資料庫必須要具備以下四個特性: ⑴ 原子性(Atomicity)   原子性是指事務包含的所有

資料庫事務特性事務隔離級別

                             資料庫事務的特性與隔離級別 事務     事務簡單的理解就是要在

資料庫事務特性、隔離級別以及傳播行為

資料庫事務的特性、隔離級別以及傳播行為 事務是一個操作序列,這些操作要麼都執行,要麼都不執行,它是一個不可分割的工作單位。 一、事務四種特性 1、原子性 事務所包含的操作,要麼全部提交,要麼全部回滾。事務若成功必須全部應用到資料庫,若失敗則不能對

資料庫事務特性和隔離級別(簡單,易懂,易記,不看後悔)

資料庫事務的四大特性(ACID) 原子性(Atomicity) 事務中的操作要麼全部成功,要麼失敗回滾 一致性(Consistency) 一個事務執行之前和執行之後都必須處於一致性狀態。拿轉賬來說,假設使用者A和使用者B兩者的錢加起來一共是5000,那麼不管A和B之間

事務特性 ACID

1. 事務的ACID 資料庫的事務必須具備ACID特性,ACID是指 Atomic(原子性)、Consistensy(一致性)、Isolation(隔離型)和Durability(永續性)的英文縮寫。 原子性(Atomicity) 事務包裝的一組sql,要麼都執行成功,要麼都

我對事務四大特性的認識和理解

一. 首先,我們需要知道事務的四大特性有哪些?            1. 原子性(Atomicity)                               原子性是指事務包含的所有操作要麼全部成功,要麼全部回滾,因此事務的操作成功就必須要完全應用到資料庫,    

什麼是資料庫事務以及特性

資料庫事務定義:資料庫是面向多使用者的共享機制,所以資料庫管理要具有併發性和同步機制,而事務就是一種多個執行步驟的執行特性,即要麼同時執行相應的操作要麼一個也不執行。這樣就保證了在多個使用者操作同一資料時資料的一致性。這樣保證資料一致性的操作執行特性就稱為事務。 事務的特性:原子性、一致

簡單介紹一下資料庫事務特性,重點介紹隔離級別

本篇講一下資料庫中事務的四大特性(ACID),並且將會詳細地說明事務的隔離級別。 ⑴ 原子性(Atomicity)  原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成

事務 四大特性 mysql 悲觀鎖與樂觀鎖

事務: * 事務就是邏輯上的一組操作,要麼全都成功,要麼全都失敗!!!   事務特性: * 原子性:事務一組操作不可分割. * 一致性:事務的執行前後,資料完整性要保持一致. * 隔離性:一個事務在執行的過程中不應該受到其他事務的干擾. * 永續性:一旦事務結束,資料就永久

【MySQL】:事務四大特性與隔離級別

[toc] # 一、事務的概念 > 什麼是事務呢? 事務是由一步或幾步資料庫操作序列組成的邏輯執行單元,這系列操作**要麼全部執行,要麼全部放棄執行**。 # 二、事務的四大特性 原子性(Atomic),一致性(Consistency),隔離性(Isolation),持續性(Durability)