[英]My partitioned view is still accessing all underlying base tables
最有可能的問題是您的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.