一个表上的全文搜索比两个表快吗?

时间:2014-06-25 01:18:16

标签: sql-server sql-server-2012 full-text-search lucene.net

在MSDN上的全文搜索页面http://msdn.microsoft.com/en-us/library/ms189760.aspx中,它表示如果您想在多个表上进行全文搜索,请使用FROM子句中的联接表来搜索结果集这是两个或多个表的乘积。"

我的问题是,如果你必须合并两个非常大的表,这不是很慢吗? 如果我将产品表与类别表合并并且有数百万条记录,那么加入会花费很长时间,然后必须在加入后进行搜索?

1 个答案:

答案 0 :(得分:0)

如果连接针对性能进行了优化,则数百万条记录的连接仍然可以很快,例如,在两个表中都编入索引的单个int列。但是可以有其他因素在起作用,所以最好的方法是尝试并自己衡量表现。

如果联接效果不佳,您可以选择以下几种方法:

  • 创建连接在一起的表的视图,在该视图上创建全文索引,并针对该视图运行全文查询。
  • 创建第3个表,它是您要加入的2个表的组合,在其上创建全文索引,并针对该表运行全文查询。您需要类似ETL过程的东西来保持更新。