有如下表:CREATE TABLE [dbo].[tb](
[A] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[B] [datetime] NULL,
CONSTRAINT [PK_tb] PRIMARY KEY CLUSTERED
(
[A] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
此表中有250W条记录,并且每月在增加,如何以最快的速度查询到在A字段中是否存在aStr字符补充:A字段中无重复记录,现在暂无法增加硬件来提高速度现在我的办法是用下面的语句来完成的
select A from tb where a=aStr
[A] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[B] [datetime] NULL,
CONSTRAINT [PK_tb] PRIMARY KEY CLUSTERED
(
[A] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
此表中有250W条记录,并且每月在增加,如何以最快的速度查询到在A字段中是否存在aStr字符补充:A字段中无重复记录,现在暂无法增加硬件来提高速度现在我的办法是用下面的语句来完成的
select A from tb where a=aStr
if exists (select a from tb where identityID>[上次检查过的值]and a like '%aStr%')
select 'a中存在aStr'
else
select 'a中不存在aStr'
是完全匹配 另:每天查询次数在100W次以上~~(这个才是头疼的问题)
增加补充:
此表tb的内容,只会一个月增加一次(从其他表导入进来)
是完全匹配 另:每天查询次数在100W次以上~~(这个才是头疼的问题)
增加补充:
此表tb的内容,只会一个月增加一次(从其他表导入进来)
aStr要查询的字符串也是变化的,每次查询的都不一样
if exists(select * from 表where charindex('字符',字段)>0)
print '字符存在'
else
print '字符不存在'