3
インデックスに対してDateAdd()によって制約されたビューの1行の推定を改善する方法
Microsoft SQL Server 2012(SP3)(KB3072779)-11.0.6020.0(X64)の使用。 与えられたテーブルとインデックス: create table [User].[Session] ( SessionId int identity(1, 1) not null primary key CreatedUtc datetime2(7) not null default sysutcdatetime()) ) create nonclustered index [IX_User_Session_CreatedUtc] on [User].[Session]([CreatedUtc]) include (SessionId) 次の各クエリの実際の行は310万です。推定行はコメントとして表示されます。 これらのクエリがView内の別のクエリをフィードすると、1行の推定値のため、オプティマイザはループ結合を選択します。 親クエリの結合ヒントを上書きしたり、SPに頼ったりしないように、この基本レベルでの見積もりを改善するにはどうすればよいですか ハードコードされた日付を使用するとうまくいきます: select distinct SessionId from [User].Session -- 2.9M (great) where CreatedUtc > '04/08/2015' -- but …