2015-01-14 26 views
0

基於我的理解,它看起來像CONTAINSTABLE可以給出一個索引列的列表進行搜索。它將採用給定的搜索參數並在任何指定的列中查找它們。可以CONTAINSTABLE告訴哪個列在每個搜索詞中查找?

是否可以在列A中查找「FOO」,僅在列B中查找「BAR」,是否可以使用CONTAINSTABLE

我試圖優化我的搜索查詢,它運行緩慢。這是一個基本的CONTAINSTABLE,其他CONTAINS謂詞用於其他列過濾器。如果可能的話,我試圖將所有搜索精簡爲一個單獨的CONTAINSTABLE

+0

你目前的查詢是什麼樣的?您可能可以通過幾次連接完成此操作。 –

回答

0

直接回答我原來的問題是:沒有

1

您可以嘗試將CONTAINSTABLE加入另一個CONTAINSTABLE。

SELECT * 
FROM CONTAINSTABLE (schema.FullTextTable, ColumnA, 'FOO') as CT1 
JOIN CONTAINSTABLE (schema.FullTextTable, ColumnB, 'BAR') as CT2 ON CT1.[KEY] = CT2.[KEY] 
JOIN schema.FullTextTable as FT ON CT1.[KEY] = FT.[KEY] 
WHERE..... 

然而,在你走下那條路徑之前,我可能會考慮閱讀下面的線程; Sql serve Full Text Search with Containstable is very slow when Used in JOIN! 基本上,它可能有助於從CONTAINSTABLE查詢中獲取關鍵值的快速臨時表,然後返回到源表中以獲取所需的額外數據或進行其他過濾。

相關問題