文章轉自 html
https://www.cnblogs.com/su-han/p/6204016.htmlhtm
https://www.cnblogs.com/mydriverc/p/8297108.htmlblog
https://www.cnblogs.com/perfei/p/9689741.html事務
https://www.cnblogs.com/xiluhua/p/9063660.htmlinnodb
重要時間查詢im
show global variables like '%timeout'; 數據
一、innodb_rollback_on_timeout查詢
若是使用MySQL 5.6:db
innodb_rollback_on_timeout=off的狀況下,會回滾最後的形成鎖等待的語句,事務沒有自動結束.可是這樣會形成數據的不一致,破壞了事務的原子性。img
innodb_rollback_on_timeout=on的狀況下,整個事務回滾後會自動建立一個事務。
若是使用MySQL 5.7:
innodb_rollback_on_timeout=off的狀況下和5.6版本是同樣的。
innodb_rollback_on_timeout=on的狀況下,整個事務已經自動回滾,不會再自動建立事務。
因此無論是5.6的版本仍是5.7的版本,innodb_rollback_on_timeout最好設置成ON,這樣能夠避免破壞事務原子性,保證數據一致性。惟一的區別是在5.7版本下須要本身手動開啓一個事務。