繁体   English   中英

我的分区视图仍在访问所有底层基表

[英]My partitioned view is still accessing all underlying base tables

我正在尝试创建一个分区视图,但是我的执行计划显示它仍在访问两个基础表。

SQL小提琴在这里

为什么我的查询仍然访问两个基础表然后连接它们?

最有可能的问题是您的CHECK约束与您的WHERE条件不匹配。

您的检查约束的形式为:

(datepart(year,[StockDate])=(2016))

您的WHERE条件是以下形式:

StockDate = '20160101'

更改您的检查约束以使用完整日期(此外,不需要使用函数 - DATEPART - 用于这样一个简单的过滤器)。 以下是2016年表:

[StockDate] >= '01/01/2016' AND [StockDate] <= '12/31/2016'

对其他表重复此操作,更改两个谓词中的年份以匹配表的年份。

请注意,上面的语法没有说明时间组件,因为有问题的字段是DATE数据类型。 如果数据类型是DATETIME ,那么范围的结尾将需要表示为:

'12/31/2016 23:59.59.997'

有关分区视图的更多信息,请参阅使用分区视图的MSDN页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM