开发了个网站www.wktao.com,我想仿百度的那种排序方法,比如搜索三个字的词,满足三个字的排前面,两个字的排后面,最后一个字匹配的排最后,存储过程如下:可惜如果数据量大了,这种方法就会很慢,根据无法达到需求,请问有没有什么更好的办法啊
CREATE PROCEDURE SearchNewsContent
(
@keyWord nvarchar(1000),
@pageIndex int,
@pageSize int,
@Order nvarchar(2000)
)
ASDECLARE @sql nvarchar(4000)SET @sql = 'select top '+cast(@pagesize as varchar(20))+' * from NewsContentView where ('+cast(@keyword as varchar(1000))+') and  Articleid not in (select top '+cast((@pageSize*@pageindex) as varchar(20)) + ' Articleid from NewsContentView where ('+cast(@keyword as varchar(1000))+')  '+cast(@Order as nvarchar(2000))+', Articleid desc)  '+cast(@Order as nvarchar(2000))+', Articleid desc'
EXEC sp_ExecuteSql @sql
GO