sql-server – 执行计划中缺少统计信息的警告

我有一种我无法理解的情况.我的sql Server执行计划告诉我,我在表上缺少统计信息,但已经创建了统计信息:

但是如果我们查看表格,我们会看到有一个自动创建的统计信息:

有人可以帮助理解它是怎么回事吗?

在当前数据库上打开Auto_Update和Auto_Create统计信息.

我正在使用sql Server 2014.

解决方法

警告并不总是对应于缺少的单列统计信息.

没有简单的方法来精确确定优化器寻找的确切统计数据,并且在所有情况下都找不到,但几乎总是一个multi-column statistic,它将在查询中提供跨多个相等谓词的一些相关信息.

也许在您的情况下,它与扫描出现警告后的过滤器中的谓词完全对应.

如果sql Server报告了“缺失统计”警告的所有列,那将是很好的,但不幸的是,这不是今天的工作方式.

可能需要一定量的反复试验来识别您需要创建的多列统计信息以删除警告.请注意,无法自动创建多列统计信息.尽管有警告,但即使提供了缺失的统计数据,您也可能会发现估计的质量有所提高.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...