gpt4 book ai didi

sql-server-2005 - 应用层数据库事务的最佳实践

转载 作者:行者123 更新时间:2023-12-03 23:37:47 25 4
gpt4 key购买 nike

我见过许多不同的cftransaction示例并阅读不同的站点,但仍然无法找到 cftransaction 的哪些部分的明确答案是必要的。我想要完成的非常简单:

  • 开始交易
  • 运行多个插入/更新
  • 关闭交易

  • 如果在插入/更新期间的任何时候出现错误,我想回滚事务。这是我过去所做的:
    <cftransaction>
    <cftry>
    <!--- multiple insert/update queries --->
    <cfcatch type="any">
    <cftransaction action="rollback">
    <!--- log error, show user message --->
    </cfcatch>
    </cftry>
    <cftransaction action="commit">
    </cftransaction>

    它是否正确?最佳做法是什么?并非所有 cftransaction 的实例正在按照上面的示例进行操作。有些只有开始和结束标签。

    我一直看到我的数据库服务器存在一些问题,并认为不正确使用事务可能是问题之一。我看到大量: set transaction isolation level read committed事件监视器中占用大量 CPU 的进程。

    最佳答案

    当您这样做时,“提交”和“回滚”行是多余的。仅当您希望提交一些查询而回滚其他查询时,它们才真正有用。由于您正在做全部或不做,因此您真的不需要它们。

    我通常这样做:

    <cftry>
    <cftransaction>
    <!--- multiple insert/update queries --->
    </cftransaction>
    <cfcatch type="database">
    <!--- log error, show user message --->
    </cfcatch>
    </cftry>

    关于sql-server-2005 - 应用层数据库事务的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953727/

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