1
3
如果客户机启动一个事务,它不是 推荐 在存储过程中提交该事务。它不是 允许 以不同于输入时使用的@@TranCount退出存储过程。 以下模式是 技术上 允许,尽管我从未见过它在现实世界中使用:
对于客户机代码来说,回滚事务而不回滚存储过程的工作是非常令人困惑的。 如果客户机不启动事务,则可以在存储过程中有多个事务,但事务的最小粒度是单个DML语句。因此,每个插入、更新、删除或合并都将在单个事务中运行。 解决这一问题的实际方法是,按善的降序排列: 1)增加日志文件的可用存储空间以适应事务。 2)重构ETL以使用较短的事务,可能在声明表中准备好数据,并在单个最终事务中加载或切换数据。 3)将ETL重构成小批量运行。 |
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |