首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么能提高数据库nvarchar(MAX)字段的like查询性能

2012-08-28 
如何能提高数据库nvarchar(MAX)字段的like查询性能?如何能提高数据库nvarchar(MAX)字段的查询性能。表:demo

如何能提高数据库nvarchar(MAX)字段的like查询性能?
如何能提高数据库nvarchar(MAX)字段的查询性能。

表:demotable
两个字段:id(递增字段),content(nvarchar(MAX))

大概100万条记录,查询关键词 keyword

select top 10 * from demotable where content like '%keyword%'

每次得到查询结果都非常慢,请问有什么好的方法能提高插叙速度,怎么做?
谢谢!

[解决办法]
你用全模糊查询,加索引都没用了,

SQL code
select top 10 * from demotable where charindex(keyword,content)>0
[解决办法]
SQL code
select top 10 * from demotable where content like 'keyword%'--orselect top 10 * from demotable where charindex('keyword',content)>0
[解决办法]
探讨
引用:
SQL code

select top 10 *
from demotable
where content like 'keyword%'

--or

select top 10 *
from demotable
where charindex('keyword',content)>0


速度差不多,区别不大,请大家继续帮忙……

[解决办法]
http://www.etaonet.com/news/3/14/124
[解决办法]

SQL code
Create index in_dex on test(content) --test表名
[解决办法]
一般都操过了8000个字符串
那是很大哦就是你选出来的时间也会很长啊。
看看全文索引能否满足你的要求嘛。
[解决办法]
探讨
再次麻烦大概给个能提高效率的方法。
表:demotable
两个字段:
id(递增字段)
content[nvarchar(MAX)]
--nvarchar(MAX) 的类型不能用作索引中的键列
--content的内容一般都操过了8000个字符串,只能是nvarchar(MAX)类型的字段,不能改为其他类型的字段

大概100万条记录,查询关键词 keyword

sel……

[解决办法]
这个快不了,你用全文索引试试吧
[解决办法]
%%虽然用不到索引 但是加索引仍然能提高查询速度的 

具体的可以用事件探查器来跟踪一下
[解决办法]
全文索引看看吧

热点排行