mysql事務
一,概念
1.一組原子性的SQL查詢,或者說一個獨立工作單元
2.撤銷日誌和重做日誌是事務的保證
3.事務日誌檔案,主要是用來實現崩潰後恢復的
4.資料庫總是從一個一致性狀態轉換成另一個一致性狀態
5.隔離性,一個事務所做的操作,在提交之前是不看見的 隔離級別和併發成反比
6.永續性,一旦事務提交,其所做的修改會永久儲存於資料庫中
二,事務流程
修改自動提交的特性 autocommit 在會話級別
三,操作
啟動事務:START TRANSACTION
...
...
結束事務:
(1) COMMIT:提交
(2) ROLLBACK: 回滾
注意:只有事務型儲存引擎方能支援此類操作;
建議:顯式請求和提交事務,而不要使用“自動提交”功能;
autocommit={1|0}
事務支援savepoint
SAVEPOINT identifier
ROLLBACK [WORK] TO [SAVEPOINT] identifier
RELEASE SAVEPOINT identifier
事務隔離級別:
READ UNCOMMITTED (讀未提交)
READ COMMITTED (讀提交)
REPEATABLE READ (可重讀)
SERIALIZABILE (可序列化)
可能存在問題:
髒讀;
不可重複讀;
幻讀;
加鎖讀;
tx_isolation:伺服器變數,預設為REPEATABLE-READ;可在SESSION級進行修改;
SET tx_isolation=''
READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE
MVCC: 多版本併發控制
死鎖:
兩個或多個事務在同一資源相互佔用,並請求鎖定對方佔用的資源的狀態;
事務日誌:
事務日誌的寫入型別為“追加”,因此其操作為“順序IO”;此日誌通常也被稱為“預寫式日誌(write ahead logging)”;
innodb_log_file_size
innodb_log_files_in_group
innodb_log_group_home_dir
相關文章
- MySQL 事務MySql
- MySQL事務(一)認識事務MySql
- MySQL 事務操作MySql
- MySQL--->事務MySql
- MySQL 三 事務MySql
- MySQL--事務MySql
- MySQL-事務MySql
- MySQL索引事務MySql索引
- mysql基礎_事務MySql
- 細談Mysql事務MySql
- MySQL事務處理MySql
- MySQL事務隔離MySql
- MySQL 事務日誌MySql
- MySQL事務與鎖MySql
- MySQL 事務和鎖MySql
- MySQL事務和鎖MySql
- MySQL 事務隔離MySql
- 資料庫事務與 MySQL 事務總結資料庫MySql
- MySQL-14.MySQL事務日誌MySql
- Mysql基礎 --- 索引+事務MySql索引
- MySQL 筆記 - 事務&鎖MySql筆記
- MySQL事務原理淺析MySql
- Mysql innodb引擎(三) 事務MySql
- MySQL 執行原理【事務】MySql
- MySQL 事務最全詳解MySql
- MySQL事務兩段式提交MySql
- mysql總結(二)-事務MySql
- MySQL事務與併發MySql
- MYSQL的事務詳解MySql
- mysql之鎖與事務MySql
- MySQL 的索引和事務MySql索引
- MySQL事務實現原理MySql
- MySQL 中的事務理解MySql
- 詳解MySQL事務原理MySql
- MySQL全面瓦解14:事務MySql
- Spring事務專題(三)事務的基本概念,Mysql事務處理原理SpringMySql
- MySQL事務隔離級別MySql
- 4.MySQL--事務隔離MySql