【问题标题】:Isolation level use cases in real world现实世界中的隔离级别用例
【发布时间】:2020-07-21 13:33:29
【问题描述】:

我浏览过多个关于不同隔离级别的教程和文章。我理解了这个概念,但我不明白现实世界的场景在哪里使用哪个级别。有没有可以演示的简单用例?任何想法将不胜感激。

提前致谢

【问题讨论】:

    标签: spring database transactions spring-transactions


    【解决方案1】:

    隔离级别不是 Spring 的概念——spring 只支持它,这是一个数据库的概念。您需要使用数据库来了解为什么脏读是一个问题,以及为什么需要读取提交隔离级别等。我可以向您推荐文章,但如果没有数据库实践经验,您将很难获得它。

    如果您确实想了解该主题,请安装 Oracle 数据库并尝试设置不同的隔离级别,并查看如果您使用 2 个 SQLPlus Windows 打开 2 个会话并尝试更新/读取相同的行会产生什么影响。

    【讨论】:

    • 谢谢阿斯加罗夫。我指的是应该使用这些级别的用例。
    • 一般回答:数据库由多个客户端同时实时使用。这意味着可以同时修改/读取相同的行。这就是为什么通过设置隔离级别来保护这些行很重要。隔离级别越高,安全性越高,但数据库的速度越慢。因此,您会发现一个可以为您的业务级别提供足够安全性的产品并使用它。
    • Read uncommitted 没有意义,那他们为什么要引入这个级别呢?这个问题一直在我脑海里盘旋。你能解释一下吗?
    • 读取未提交并不是发明的,它是最低的隔离级别,因为如果您删除其他级别引入的所有安全措施,它就是剩下的。这就像在问,如果我们可以用 Java 编程,为什么还要费心去发明机器代码。
    • 那么,你有没有发现未提交读的用例?
    猜你喜欢
    • 2015-10-02
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2011-03-22
    相关资源
    最近更新 更多