【问题标题】:SQL Azure Connection and TransactionSQL Azure 连接和事务
【发布时间】:2015-06-12 09:23:32
【问题描述】:

我正在将 SQL Azure 用于基于 Saas 的 asp.net 应用程序。我已经尽可能避免交易,以防止最终用户出现死锁。这是由于我缺乏数据库设计方面的知识,但我认为避免事务至少是减少表和行锁的一种可靠方法,因此可以减少用于 SaaS 的数据库中的争用和死锁问题。

所以我没有在 .net 中使用任何形式的显式数据库事务。现在假设我在 .net 中打开一个 SQLConnection 并运行一个插入语句,在 Table1 中插入信息,然后在不关闭连接的情况下我也在 Table2 和 Table3 中插入​​。所有这些插入都将成为隐式事务的一部分。

【问题讨论】:

    标签: transactions azure-sql-database saas


    【解决方案1】:

    不,多语句事务是显式打开的。我相信您可以使用一些深奥的设置来隐式打开一个,但我认为这些设置是严重的设计错误和邪恶的。

    我不明白你为什么想要这种行为。相反,明确地打开一个事务。交易打开方式不会导致行为差异。

    但我认为避免事务至少是减少表和行锁的一种可靠方法,因此可以减少用于 SaaS 的数据库中的争用和死锁问题。

    这在启发式上是正确的。我宁愿建议您让自己熟悉锁定等基础知识。通过正确使用事务,您可以获得大量的开发生产力。基本事务使用其实很简单。打开快照隔离。您想要这个的概率约为 99%。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-29
      • 2020-04-07
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多