相关疑难解决方法(0)

总是创建交易是一种不好的做法吗?

总是创建交易是一种不好的做法吗?

例如,为一个简单的SELECT?

在没有必要的情况下创建交易的成本是多少?

即使您使用的是像 那样的隔离级别READ UNCOMMITTED,这是否是一种不好的做法?

sql-server best-practices transaction

111
推荐指数
2
解决办法
8万
查看次数

sql server:以小块更新大表上的字段:如何获取进度/状态?

我们有一个非常大(1 亿行)的表,我们需要更新其中的几个字段。

对于日志运输等,我们显然也希望将其保持为一口大小的交易。

  • 下面会做的伎俩吗?
  • 我们如何让它打印一些输出,以便我们可以看到进度?(我们尝试在其中添加 PRINT 语句,但在 while 循环期间没有输出任何内容)

代码是:

DECLARE @CHUNK_SIZE int
SET @CHUNK_SIZE = 10000

UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
where deleted is null or deletedDate is null

WHILE @@ROWCOUNT > 0
BEGIN
    UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
    where deleted is null or deletedDate is null
END
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

10
推荐指数
1
解决办法
9827
查看次数

标签 统计

sql-server ×2

best-practices ×1

t-sql ×1

transaction ×1