我们使用的是SqlServer 2008.在SSMS中,全文目录中的查询可能需要2-5秒才能完成,但在此之后,返回的速度会非常快。如何避免使用SqlServer全文搜索超时?
另一方面,从via Linq2Sql运行查询将超时。
下面是我们所拥有的:
的SQL内联表UDF
CREATE FUNCTION dbo.SearchArchiveFTS
(
@query nvarchar(255)
)
RETURNS @ret TABLE
(
ID NVarChar(12) NOT NULL,
snapshotDate DateTime NOT NULL,
-- about 10 more
)
AS BEGIN
declare @innerQuery nvarchar(255)
set @innerQuery = @query
insert into @ret
select ID,
snapshotDate,
-- about 10 more
from dbo.Archive a
where contains(a.*, @innerQuery)
return
查询在SSMS
select * from dbo.SearchArchiveFTS('query')
//3 seconds/3k rows
查询在LINQ2SQL
db.SearchArchiveFTS("query").ToArray();
// timeout exception
关于这个问题可能有什么想法?
从SSMS-我得到了相同的结果与SET ARITHABORT OFF和ON – 2010-08-26 20:04:02
和Linq,ARITHABORT设置为0 – 2010-08-26 20:12:23