約100万行のテーブルがあり、それに対して次のSQLを実行します。
select * from E where sys like '%,141,%'
実行に2〜5秒かかります(最大10行を返します)。少なくとも10倍高速である必要がありますが、SQL Server 2012で実現できるものですか?
サンプルsys
値(sys
値の長さの範囲は5〜1000文字):
1,2,3,7,9,10,11,12,14,17,28,29,30,33,35,37,40,41,42,43,44,45,46,47,48,50,51,53,55,63,69,
72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,97,109,110,111,113,117,
119,121,122,123,124,130,131,132,133,134,135,139,141,146
テーブルのDDL:
CREATE TABLE [dbo].[E](
[o] [int] NOT NULL,
[sys] [varchar](8000) NULL,
[s] [varchar](8000) NULL,
[eys] [varchar](8000) NULL,
[e] [varchar](8000) NULL,
CONSTRAINT [PK_E] PRIMARY KEY CLUSTERED
(
[o] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]