![]() |
1
1
编辑 从 http://technet.microsoft.com/en-us/library/cc721269.aspx#_Toc202506240
因此,它根本无法从存储的信息中知道这两个搜索词可能是完全独立的,还是共同发现的。也许你应该有两个独立的程序一个是单字查询,你可以让乐观主义者做它的事情,另一个是多字程序,你强制一个“足够好”的计划(sys.dm\u fts\u index\u keywords可能会有帮助,如果你不想一个一刀切的计划)。 注意:您的单字过程可能需要使用WITHRECOMPILE选项查看本文的这一部分。
不过,你的新计划看起来还是很糟糕。看起来它只从全文查询部分返回1行,但扫描Product表中的所有770159行。 它的性能如何?
|
![]() |
2
2
如果更新统计信息没有帮助,请尝试向查询中添加提示:
这将迫使发动机使用
全文查询被视为一个远程源,返回由
更新:
|
![]() |
3
1
我看不到相关的执行计划,网络警察正在封锁,所以这只是猜测。。。
|
![]() |
4
1
查询:
如果全文索引连接到
|
![]() |
5
1
二。我的解决方案包含两部分 1.用于全文搜索的自联接表 2.使用MS SQL哈希连接提示 MSDN Join Hints
如果您使用的是NHibernate,有/没有Castle活动记录,我已经回复了 post 如何编写拦截器来修改查询,将内部连接替换为内部哈希连接 |
![]() |
6
0
关于这一点有几点想法:
2) 您使用的是什么版本的SQL Server?我在SQLServer2008中遇到了一个类似的问题,结果只不过是没有安装ServicePack1。安装SP1后,一个FreeText查询花了几分钟时间(由于实际执行的次数太多)变成了一秒钟。 |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |