首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql事务隔离级别的示例

mysql事务隔离级别的示例
EN

Stack Overflow用户
提问于 2015-01-07 07:00:28
回答 1查看 756关注 0票数 0

有人能用一个很好的例子来解释我的“事务”和“事务隔离级别”吗?我对在我的应用程序中使用这一点感到非常困惑。我正在存储过程中执行许多Insert/Update/,所以请在这个上下文中解释(也考虑自动提交)。我也在我的应用服务器上使用连接池。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-17 10:44:39

这些都是不同的概念,它们都能很好地结合在一起。在我每天使用的数据库中,事务是一个非常基本和重要的概念。您可以阅读很多关于事务的最重要的属性-- ACID,在这里:http://en.wikipedia.org/wiki/ACID

但我会尝试用我自己的话来概括一下:

事务可以看作是将一组命令组合在一起。如果您更改/添加/删除事务内的数据库中的任何内容,则取决于该事务之外的隔离级别,没有人能够看到这些更改。如果回滚事务(例如,如果发生错误),则根本没有对数据库应用任何更改。如果以其他方式决定提交事务,则事务中发生的所有事情都会立即执行。因此,将每一个逻辑操作组合在一个事务中是一个很好的习惯。

自动提交正好相反:每一次更新/插入/删除都是隐式/直接作为事务进行的。因此,它仍然可以被看作是一个事务,但是您忽略了它末尾的显式提交。

只有确保只对事务使用一个连接时,连接池才能工作。但是通常您必须先从池中获得一个连接来执行您的语句,所以这是没有问题的。

准备好的语句有点与事务无关。当然,您可以在准备好的语句中使用事务,并且必须考虑这一点,因为嵌套事务在MySQL中是不可能的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27814045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档