MySQL事務表和非事務表


查看 max_binlog_stmt_cache_size 參數解釋時,有這么一句話 If nontransactional statements within a transaction require more than this many bytes of memory, the server generates an error.

那么,什么是 nontransactional statements ?
在 http://dev.mysql.com/ 查找 nontransactional關鍵字,查詢結果第一個是 Rollback Failure for Nontransactional Tables 。

那么什么又是 Nontransactional Tables ?、

一、非事務表
Nontransactional Tables,非事務表,不支持事務的表,也就是使用MyISAM存儲引擎的表。
非事務表的特點是不支持回滾,看下面的列子

可以看到,非事務表回滾拋出警告,顯示非事務表不支持回滾。

二、事務表
與非事務表對象的是事務表,比如使用InnoDB的表,支持回滾操作。

可以得出,nontransactional statements的意思是操作非事務表的語句。

三、相關參數
max_binlog_stmt_cache_size 該參數影響的是非事務表,如MyISAM,該參數不夠時,則提示需要更多的空間。
max_binlog_cache_size 該參數影響的是事務表,如InnoDB,該參數不夠時,則提示需要更多的空間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM