gpt4 book ai didi

mysql 事务隔离级别示例

转载 作者:行者123 更新时间:2023-11-29 23:15:54 25 4
gpt4 key购买 nike

有人可以用很好的例子向我解释“事务”和“事务隔离级别”吗?我对在我的应用程序中使用它感到非常困惑。我在存储过程中执行许多插入/更新/选择事务,因此请在上下文中进行解释(也请考虑自动提交)。我也在我的应用程序服务器上使用连接池。

谢谢。

最佳答案

这些是不同的概念,但可以很好地结合在一起。事务是我每天使用的数据库中一个非常基本且重要的概念。您可以在此处阅读有关事务最重要的属性 ACID 的大量内容:http://en.wikipedia.org/wiki/ACID

但我会尝试用我自己的话向您提供概述:

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

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

仅当您确保一项事务仅使用一个连接时,连接池才能发挥作用。但通常您必须首先从池中获取连接才能执行语句,所以这不是问题。

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

关于mysql 事务隔离级别示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27814045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com