2014-06-25 88 views
0

在MSDN的全文搜索頁面http://msdn.microsoft.com/en-us/library/ms189760.aspx上,它表示如果您想在多個表上執行全文搜索,只需「在FROM子句中使用連接表來搜索兩個或多個結果集的結果集表「。在一張桌上的全文搜索比兩張桌快嗎?

我的問題是,如果您必須合併兩個非常大的表,這不會很慢嗎? 如果我將產品表與類別表合併在一起,並且有數百萬條記錄,那麼聯接是否需要很長時間,然後必須在聯接之後進行搜索?

回答

0

如果連接針對性能進行了優化(例如,在兩個表中建立了索引的單個int列),則數百萬條記錄上的連接仍然可以很快。但是還有其他因素可以起作用,所以最好的方法是嘗試一下並自己衡量表現。

如果連接不能很好地執行,你有兩個選擇:

  • 創建表的視圖結合在一起,創建該視圖上全文索引,並運行全文查詢反對這一觀點。
  • 創建一個第三個表格,它是您要加入的兩個表格的組合,在其上創建一個全文索引並對該表格運行全文查詢。你需要像ETL過程一樣來保持它的更新。