簡體   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