使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

假设某个表使用设置为级联删除的外键约束,并且外键列的统计信息未涵盖表中键值的整个范围 (例如:因为数据分布更改到表) 后未更新统计信息。 在此方案中,尝试删除与统计信息直方图中未表示的键值对应的行,并且查询优化器使用默认基数估算时,删除操作的速度低于预期。 还可能会注意到,索引扫描操作用于查找引用表中的匹配行。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

解决方案

以下累积更新中修复了此问题SQL Server:

注意: 仅在通过数据库范围的配置选项、查询提示或跟踪标志 4199 (打开优化器修补程序时,才启用此) 。

关于更新的累积SQL Server:

每个新的累积更新SQL Server包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看最新累积更新,了解SQL Server:

解决方法

若要解决此问题,请使用以下某种方法:

  • 使用旧基数估算。 有关详细信息,请参阅基数估算 (SQL Server) 。

  • 从外键定义中删除级联删除,然后使用父表和子表之间的 JOIN 执行删除操作,以完成等效的级联删除。

  • 在删除数据之前,使用 FULLSCAN 更新父表的统计信息。

参考

了解 Microsoft 用于描述软件更新的术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×