私たちの最大のテーブルには、約 7 Mio のレコードがあります。int 型の非クラスター化インデックスでテーブルをクエリすると、次のようになります。
例えば:
Select * from MyTable where TypeID = 401
-- 147000 行未満を表示するのに約 7 秒かかります。
Select * from MyTable where TypeID like '%401%'
-- 147000 行未満を表示するのに約 13 秒かかります。
ここでパフォーマンスを向上させる方法はありますか?例えば。より多くのメモリ?現在16GBあります。
私のテーブルスクリプト:
create table MyTable (ID int not null, Description nvarchar(50) not null, TypeID int not null, primary key (ID));
create index MyTable_TypeID on MyTable (TypeID);
編集:答えのほとんどは、実際には無視できる2番目のクエリを中心に展開しています。代わりに、最初のクエリにフォーカスする必要があります。データをより速く取得するためにできることはありますか?