SQL Server 2014,标准版 我了解到dm_exec_requests中的percent_complete对于CREATE INDEX无效,并且在实践中,percent_complete一直停留在0。所以这并没有帮助。 我目前使用下面的方法,至少可以显示进度(即索引创建未被阻塞)...
我有两个具有相同名称、类型和索引键列的表。其中一个表具有唯一的聚集索引,另一个表具有非唯一的索引。 测试设置 设置脚本,包括一些真实的统计数据: DROP TABLE IF EXISTS #left; DROP TABLE IF EXISTS #right; CREATE TABLE ...
我遇到了一个我无法理解的情况。我的SQL Server执行计划告诉我,我的表上缺少统计信息,但这些统计信息已经被创建了。 但是如果我们看一下表格,我们会发现有一个统计数据是自动生成的。 有人能帮忙理解这是怎么回事吗? 当前数据库已开启自动更新和自动创建统计信息。 我正在使用SQ...
通常,当我进入一个新的环境时,我倾向于检查备份的位置、最近一次完整备份的时间、上次还原应用的时间,并且我也会检查安全性。 我使用T-SQL来完成这些操作。 检查备份的方式如下: ;with Radhe as ( SELECT @@Serverna...
在下面的查询中,两个执行计划都估计要在唯一索引上执行1,000次查找。 这些查找是由对同一源表的有序扫描驱动的,所以看起来应该按照相同的顺序查找相同的值。 两个嵌套循环都具有<NestedLoops Optimized="false" WithOrderedPrefetch="tru...
我有一个关于 XTP_CHECKPOINT 的问题。 我正在使用 SQL Server 2014。我有一个数据库处于简单恢复模式,并且正在进行复制。 没有未完成的事务。我运行了 DBCC OPENTRAN 命令,返回结果如下: "没有活动的未完成事务。" 但是,每当我尝试创建或删除...
我正在测试从一个聚集列存储索引中删除数据。 我注意到在执行计划中有一个较大的急切 spool 操作符。 这个完成具有以下特点: - 删除了6000万行数据 - 使用了1.9 GiB的TempDB - 执行时间为14分钟 - 串行计划 - 在spool上重新绑定了一次 - 扫描的预估成...
考虑以下在SQL Server 2014中的查询计划: 在查询计划中,自连接 ar.fId = ar.fId 的估计结果是 1 行。然而,这个估计是逻辑上不一致的:表 ar 具有 20,608 行,并且只有一个不同的 fId 值(在统计数据中准确反映)。因此,这个连接产生了所有行的全排列...
我有一张表,其中包含一个字符串列和一个用于检查特定长度行的谓词。在SQL Server 2014中,无论我检查的长度是多少,都会看到1行的估计值。这导致计划非常糟糕,因为实际上可能有成千上万甚至数百万行,并且SQL Server选择将此表放在嵌套循环的外部。 对于SQL Server 201...
我有一个拥有75亿行和5个索引的大表。 当我删除大约1000万行时,我注意到非聚集索引似乎增加了它们存储在的页面数量。 我编写了一个针对dm_db_partition_stats的查询,以报告页面数的差异(之后 - 之前)。 索引1是聚集索引,索引2是主键。其他的索引是非聚集和非唯一的...