高分在线急求一sql语句优化
select * from table1 where (biaoti like '%兼% ' or neirong like '%兼% ')
biaoti 是nvarchar
neirong 是ntext
这是个站内搜索功能
表中数据10万左右,查询非常的慢了
请问各位大虾 有办法优化吗?
[解决办法]
晕 你like ntext 肯定慢啊
我的方法是 建一个关键字的字段或者摘要 用来like
[解决办法]
在biaoti 上加索引.
[解决办法]
不知建全文索引能提高多少
[解决办法]
加索引吧,另外觉得标题varchar可以了
[解决办法]
Lucene .net
[解决办法]
sql语句本身可能是没什么优化的了。
直接考虑一下其它的方案吧!
[解决办法]
对于楼主你这种情况,对nvarchar和ntext类型的字段,创建索引也不会提高查询速度,楼主你可以考虑将工程转向专门面向全文检索的数据库平台(如TRS数据库)。
[解决办法]
把括号去掉
[解决办法]
站内搜索的功能做成标题和内容二选一的查询条件就足够了,一般都是搜标题,搜内容的很少
[解决办法]
like '%兼% '
这样的条件无法使用索引的,并且ntext也不能建索引
只能用全文索引
或者调整你的数据库结构
[解决办法]
这个SQL语句没法优化了。建索引也加快不了。因为你用的是左右模糊。