更改下:
select count(*) from table1 as t1 inner join table2 on t1.uID=table2.uID inner join containstable(table1,Content,@Keywords) as t3 on t1.ID=t3.[KEY]
select count(*) from table1 as t1 inner join table2 on t1.uID=table2.uID inner join containstable(table1,Content,@Keywords) as t3 on t1.ID=t3.[KEY]
查询起来比较慢
on t1.ID=t3.[KEY] order by t3.[RANK] desc,t1.AddTime desc修改一下,table2有意义么?就查询ID来说应该无意义,去掉。
(select max(table2.ID) from table1 as t1 inner join table2 on t1.uID=table2.uID
inner join containstable(table1,Content,@Keywords) as t3 on t1.ID=t3.[KEY] group by CName) order by t2.[rank] desc,t1.addtime desc
insert into @indextable(nid)select ID from table1 as t1 inner join containstable(table1,Content,@keywords) as t3 on t1.ID=t3.[KEY] where NOT EXISTS(SELECT nid from @indextable where nid=ID) order by t3.[rank] desc,t1.addtime desc
......
......