私は2つのテーブルSQL Serverの実行計画の問題
CREATE TABLE [dbo].[T2] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[F1] NVARCHAR (100) NULL,
[F2] NVARCHAR (100) NULL,
[F3] NVARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
GO
CREATE NONCLUSTERED INDEX [IX_T2_F1_F2]
ON [dbo].[T2]([F1] ASC, [F2] ASC);
と
CREATE TABLE [dbo].[T3] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[F1] NVARCHAR (100) NULL,
[F2] NVARCHAR (100) NULL,
[F3] NVARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
GO
CREATE NONCLUSTERED INDEX [IX_T3_F1_F2]
ON [dbo].[T3]([F1] ASC, [F2] ASC)
INCLUDE([F3]);
そして、これらを持っている私の実行は
を計画している問題は、なぜクエリ#です2の実行計画がIndex Seek (NonClustered)
ではないため、クエリオプティマイザがcをスキャンする理由クラスタ化されていないインデックス{F1,F2}
ではなく、PKの光沢のあるインデックス?
更新#1:
これらのテーブルにはおそらく0行があるので、問題はありません。そこに100万行を入れ、あなたの統計を更新してください。 –
@ ta.speot.is両方のテーブルに100k行あります – dizar47
実行計画の矢印は非常に狭いです - SQL Serverは何行目を見積もっていますか? –