删除过滤的统计信息会导致死锁

时间:2013-10-04 08:55:24

标签: sql sql-server sql-server-2012 table-statistics filtered-statistics

我们有一个大型数据仓库数据库,我们不断在5个不同的表格中插入新行,位于b树的左侧(编辑:右侧) - (在表格的末尾)

这意味着关于新数据,普通统计数据很快就会过时。 所以我们已经改变了我们的插入过程,也做了一个CREATE STATISTICS FST_xxx 使用WHERE子句覆盖最近的200万行。

这确保了我们不会得到错误的执行计划。 现在我们陷入了数百个这样的困境。 我们有一个每天运行一次的清理工作,这将删除不需要的统计信息。

但是这会导致很多死锁。

有没有办法禁用过滤统计信息或丢弃过滤统计信息而不会导致死锁?

(edit :)该表聚集在一个Bigint Identity(1,1)asending上。

2 个答案:

答案 0 :(得分:1)

为什么不尝试更新统计信息而不是每次都创建一个新统计信息?

答案 1 :(得分:1)

您能澄清行插入的位置吗?你说b树的左手边,但你也说过桌子的尽头。假设这是你正在讨论的聚集索引是正确的吗?无论它是否聚集,索引键是否上升?感谢。