SQLServer 列存储索引的性能问题:“Where OR”将影响谓词下推

问题描述

sql Server中,我有一个使用列存储索引的表,需要做一些聚合步骤,但是如果where子句包含“或”,谓词下推将消失,我不知道为什么,有人对此提出建议?例如,

在此查询文本中:

select sum(num) from Fact where date = '2021-06-02' and NUMF = 23

谓词下推将完美运行。但是如果我在where子句中加了一个“OR”,比如:

select sum(num) from Fact where date = '2021-06-02' or NUMF = 23

谓词下推不起作用,查询计划会扫描所有列存储索引,非常耗时。

这是 sqlServer 的功能吗?还是bug?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)