パーティション分割されたビューを機能させようとしていますが、クエリ オプティマイザーが両方のテーブルをスキャンしています。これが私のスクリプトです:
CREATE TABLE A(DataDate [date] NOT NULL CHECK(datepart(yy, DataDate) <= 2010))
CREATE TABLE B(DataDate [date] NOT NULL CHECK(datepart(yy, DataDate) > 2010))
CREATE VIEW V AS SELECT * FROM A UNION ALL SELECT * FROM B
select * from V where datepart(yy, DataDate) = 2009
しかし、実行計画を見ると、テーブルAとテーブルBの両方がスキャンされ、両方のテーブルの「実行回数」が 1 であることがわかりNumber of Executions = 1
ます。私はオンです。Number of Executions = 0
SQL Server 2012
誰かがこれがどのように機能するのかを明確にできますか? ありがとうございました。