Mysql:事务管理——未完待续
生活随笔
收集整理的這篇文章主要介紹了
Mysql:事务管理——未完待续
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
邏輯事務(wù)管理??? --基本上應(yīng)用于innodb引擎
- begin [work]??? start transaction [with consistent snapshot]
- commit [work] ??? [and [no] chain] [[no] release]
- rollback [work]??? [and [no] chain] [[no] release]
- set autocommit = {1(默認(rèn))|0}
mysql的事務(wù)管理有一定的模式
- completion_type系統(tǒng)變量決定一個(gè)事務(wù)完成后應(yīng)該做什么的行為模式
- autocommit系統(tǒng)變量決定事務(wù)完成后是否自動(dòng)提交!
- 在存儲(chǔ)程序內(nèi):begin [work] 當(dāng)作簡(jiǎn)單的begin end 塊的begin,而不是事務(wù)的開始。如果要開始事務(wù)應(yīng)該使用start transaction
- mysql的client api 通常有自己的開始事務(wù)的表達(dá)形式
- 開始事務(wù)會(huì)造成完成掛起的事務(wù)隱式commit;同時(shí)也會(huì)使之前使用lock tables語(yǔ)句獲取的“表鎖”自動(dòng)釋放,如同執(zhí)行unlock tables;但不會(huì)釋放flush tables with read lock 獲得的“全局讀鎖”
- mysql的許多語(yǔ)句(一般是ddl語(yǔ)句:{create|drop} database、{create|alter|drop} {tables|routines}),在事務(wù)里不要包含此類語(yǔ)句,否則rollback失敗
- mysql的許多語(yǔ)句會(huì)造成事務(wù)的隱式commit,如:ddl語(yǔ)句、dcl語(yǔ)句、文件系統(tǒng)相關(guān)語(yǔ)句、事務(wù)管理語(yǔ)句等等
?
事務(wù)savepoint
- savepoint svp_name??? --如果新的 事務(wù)保存點(diǎn)的名稱和已有的same,則會(huì)覆蓋舊的
- rollback [work] to [savepoint] svp_name??? --事務(wù)回滾到指定的保存點(diǎn)
- release savepoint svp_name??? 刪除定義的事務(wù)保存點(diǎn)。注意不會(huì)引起事務(wù)的commit或rollback
表鎖
- lock tables {table_name [[as] alias] {read [lock]? |? [low_priority] wirte}} [,...]
- unlock tables
事務(wù)隔離級(jí)別
set [global | session(默認(rèn))] transaction isolation level { read uncommitted | read committed | repeatable read | serializable }
xa事務(wù)
轉(zhuǎn)載于:https://www.cnblogs.com/jinzhenshui/archive/2009/06/09/1499675.html
總結(jié)
以上是生活随笔為你收集整理的Mysql:事务管理——未完待续的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Jquery性能优化(转自蓝色理想)
- 下一篇: 经典学英语