程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中InnoDB存儲引擎的事務隔離級別與事務處理

MySQL中InnoDB存儲引擎的事務隔離級別與事務處理

編輯:MySQL綜合教程

MySQL中InnoDB存儲引擎的事務隔離級別與事務處理   1、事務進行中,不得用set transaction命令更改隔離級別。但可以用set {global|session} transaction更改隔離級別。文檔上說set transaction可以改變當前會話的下一個事務的隔離級別,實際測試發現不起做用。  2、用set [{global|session}] tx_isolation={READ-COMMITTED|REPEATABLE-READ}改變事務隔離級別。    3、read committed隔離級別,二進制日志必須為row格式,或者不啟用二進制日志。    4、autocommit為OFF時,上一個事務結束(rollback或commit)後,立即開啟一個新的事務。事務的快照點,為事務中的第一條SQL語句(SELECT,DML)執行的時間點。   5、autocommit為ON時,每一個SQL語句(SELECT,DML)結束後,立即開啟一個新的事務。事務的快照點,為事務中的(唯一的)SQL語句(SELECT,DML)執行的時間點。    6、start transaction語句,立即開啟一個新的事務。事務的快照點,為事務中的第一條SQL語句(SELECT,DML)執行的時間點。    7、start transaction語句後,未執行commit或rollback來結束一個事務,再次執行start transaction語句,會隱式commit之前的事務,然後再開啟一個新的事務。   

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved