資料庫事務 ACID
今天聽了關於Mysql事務的分享,查閱了關於事務的內容。也在思考當問到這個問題的時候應該如何去總結和表達出自己理解的事務
1.是什麼
一句話概括,就是一件事情,要麼完全做完,要麼完全不做。
資料庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。
2.事務的特徵
一個邏輯工作單元要成為事務,必須滿足ACID(原子性、一致性、隔離性和永續性)屬性
原子性(Atomicity)
原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾
一致性(Consistency)
一致性是指事務必須使資料庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之後都必須處於一致性狀態。
例如:銀行轉賬,A和B總金額是500,不管怎麼轉,中間的操作是怎麼樣的,最後總金額始終是500.一種一致性狀態
隔離性(Isolation)
併發事務之間互相影響的程度。
事務檢視資料時資料所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會檢視中間狀態的資料。
事務的併發操作可能出現的問題:髒讀,不可重複讀,幻讀
永續性(Duration)
事務提交後,對系統的影響是永久的。該修改即使出現致命的系統故障也將一直保持。
3.事務語句
開始事物:BEGIN TRANSACTION
提交事物:COMMIT TRANSACTION
回滾事務:ROLLBACK TRANSACTION
提交事物:COMMIT TRANSACTION
回滾事務:ROLLBACK TRANSACTION
儲存點的名稱和位置:SAVE TRANSACTION 儲存點名稱
回滾到儲存點:ROLLBACK TRANSACTION 儲存點名稱
回滾到儲存點:ROLLBACK TRANSACTION 儲存點名稱
相關文章
- 帶你瞭解資料庫中事務的ACID特性資料庫
- MySQL之資料庫儲存引擎及事務ACID特性MySql資料庫儲存引擎
- 淘寶海量資料庫之三:事務的ACID(轉)資料庫
- Java資料庫事務管理:ACID屬性的實現與應用Java資料庫
- 資料庫事務 ACID屬性、資料庫併發問題和四種隔離級別資料庫
- 事務的ACID特性
- 跨微服務的 ACID 事務微服務
- Redis 事務支援 ACID 麼?Redis
- 資料庫事務整理資料庫
- mysql淺談--事務ACID特性MySql
- 資料庫事務與 MySQL 事務總結資料庫MySql
- 資料庫映象和跨資料庫事務資料庫
- 淺談資料庫事務資料庫
- 說說資料庫事務資料庫
- 資料庫事務的特徵資料庫特徵
- 資料庫事務概論資料庫
- 資料庫事務隔離資料庫
- 資料庫事務以及事務的四個特性資料庫
- 資料庫事務與事務的隔離級別資料庫
- 分散式事務之資料庫事務與JDBC事務實現(一)分散式資料庫JDBC
- Laravel 開啟資料庫事務Laravel資料庫
- 資料庫事務入門指南資料庫
- MySQL資料庫本地事務原理MySql資料庫
- 資料庫主要物件及事務資料庫物件
- MySQL是如何實現事務的ACIDMySql
- 搞懂MySQL InnoDB事務ACID實現原理MySql
- 事務ACID特性與隔離級別
- Apache Kafka不是資料庫:資料庫+Kafka=完整ACID - fivetranApacheKafka資料庫
- JDBC、JDBC框架、資料庫事務、資料庫連線池JDBC框架資料庫
- 【MySQL】資料庫事務深入分析MySql資料庫
- [專業術語]資料庫事務資料庫
- 資料庫事務隔離級別資料庫
- SQL基礎-->資料庫事務(TRANSACTION)SQL資料庫
- 【原創】Mysql中事務ACID實現原理MySql
- 面試題:MySQL事務的ACID如何實現?面試題MySql
- 資料庫對比系列之三(PG事務與MySQL事務)資料庫MySql
- AlwaysOn 可用性組或資料庫映象不支援跨資料庫事務和分散式事務資料庫分散式
- 資料庫ACID、隔離級別與MVCC資料庫MVC