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