欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【30万条数据,搜索文本字段的各种方式对比】,下面是详细的分享!
30万条数据,搜索文本字段的各种方式对比
数据库:
30万条,有ID列但无主键,在要搜索的“分类”字段上建有非聚集索引
过程T-SQL:
| declare @a datetime,@b nvarchar(4) set @a=getDate() select 书名 from 图书三十万条 Where 分类 Like '%医学%' --“分类”列有非聚集索引,比聚集索引1150快一点,差不多执行时间在1100左右 -- select 书名 from gethl('医学') --使用用户自定义函数,效率和建立聚集索引一样,还稍慢一点 在1150-1200 -- Execute getfl '医学' --调用存储过程不能用括号包含参数 Execute getfl('医学') -- select 书名 from VIEW1 --视图 print '运行时间: print datediff(ms,@a,getDate()) |
结论:
1、以上各种使用直接查询、函数、视图、存储过程性能都差不多;
2、在这种文本字段,非聚集比聚集索引效果好。
比这些更好的方法是,在另外一个表上建立相应的检索ID,会更快!
以上所分享的是关于30万条数据,搜索文本字段的各种方式对比,下面是编辑为你推荐的有价值的用户互动:
相关问题:怎样在EXCEL中根据一列数据批量查找相关的数据和文...
答:这个问题实在是简单,示意图如下: 上为表2,下为表3 在表3(sheet3)中B3单元格中输入公式:=IFERROR(INDEX(Sheet2!$A:$C,MATCH($A3,Sheet2!$A:$A,0),COLUMN(B1)),"") ,右拉至C3,之后,公式下拉,即可. >>详细
相关问题:如何在excel中查找包含某字段的文本,并返回该全部...
答:LOOKUP >>详细
相关问题:您好 我有两个TXT文本文件,里面有部分数据一样,...
答:把两个文本文件复制到Excel里面,应该就是A、B列了。 假设A列是a文本、B列是b文本。你说“a有一行是123456 b的这行是2345”这样,要判断相同还是判断相同(包含)? 1、判断不同: 在C1输入 =IF(COUNTIF(B:B,A1)>0,"","不同") 2、判断相同(包含)... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
