我正在測試innoDB表中的事務支持,而且我試圖在MyIsam表上運行相同的事務,並且令人驚訝的是它工作正常。我假設myIsam表中的查詢是一個接一個地執行的,而不是在一個原子操作中執行,並且我沒有從START TRANSACTION和COMMIT和ROLLBACK操作中得到任何錯誤。我感興趣的是MyIsam引擎是忽略這個操作還是執行一些操作?MyIsam引擎事務支持
20
A
回答
26
MyISAM有效地工作在自動提交模式(因爲它不是一個事務引擎),它只是忽略提交/回滾。
實際上,存儲引擎是MySQL體系結構中的一個不同層,與SQL解析器分開,SQL層使用低級API與存儲引擎通信,這就是存在常見SQL和引擎的原因,支持不同特色的子集。你可以看到非常高層次的體系結構here
2
MyIsam tabels不是爲此而構建的。即使在5+版本中也沒有。它只是爲了存儲數據。它不能保證交易或數據恢復。您應該爲此使用InnoDB,並且如果需要的話,使用MyIsam進行復制(由於沒有跨表檢查,因此使用MyIsam表檢索數據會更快)。
您可以從MySQL http://forums.mysql.com/read.php?21,68686,69229#msg-69229
相關問題
- 1. Innodb引擎和Myisam引擎
- 2. Hibernate JPA是否支持mysql InnoDB和MyISAM引擎
- 3. 爲什麼MySQL的MyISAM引擎不支持外鍵?
- 4. Rails支持寶石/引擎
- 5. 不支持MySQL簇引擎
- 6. .net Google App引擎支持
- 7. 哪個引擎? InnoDb或MyISAM?
- 8. Neo4jclient事務支持
- 9. 將引擎類型更改爲MyISAM未知引擎
- 10. 對應用引擎1.6.4的GPE支持?
- 11. 哪個DB/DB引擎支持搜索?
- 12. 支持動態查詢的NoSQL引擎?
- 13. 表達式引擎:OpenID支持?
- 14. 支持主題的asp.net博客引擎?
- 15. Google應用引擎是否支持JDBC?
- 16. 泡沫:Google應用引擎支持
- 17. HtmlUnit的應用引擎支持
- 18. Google App引擎是否支持Rails 3.1?
- 19. 支持SQLite的簡單論壇引擎
- 20. JBoss AS 7支持哪些XQuery引擎?
- 21. Rails引擎是否支持i18n
- 22. Openfire - MySQL存儲引擎:InnoDB或MyISAM?
- 23. Silverstripe FulltextSearchable轉換表引擎在MyISAM
- 24. MyISAM引擎上的MySQL回滾
- 25. mysql MyISAM與NDB存儲引擎重讀
- 26. Datastax - 不支持事務
- 27. struts2中的事務支持
- 28. activemq事務性支持
- 29. HibernateTransactionManager事務掛起支持
- 30. 彈簧3事務支持
閱讀這篇文章「工作」意味着你能回滾DML語句,或者你沒有得到語法錯誤? –
我做了一個簡單的選擇和插入語句,並沒有收到任何錯誤。 – Headshota
好吧,然後看@ Darhazer的答案。您可能不會遇到任何錯誤,但您實際上不會有交易。發出ROLLBACK時,你的INSERT不會被撤銷。 –