2010-08-15 102 views
1

我想使用Microsoft SQL Server的全文搜索功能。用於全文搜索的SQL Server索引視圖

如果我有一個表格客戶端引用像城市,國家,部門等其他表是最好創建一個單獨的表,將保存非標準化的數據,然後將全文索引,或者是它最好在每個外部表中創建一個虛擬值(例如使用鍵-1),然後用客戶端表中的NULL值替換那些相應的虛擬值,然後創建一個索引視圖(這些虛擬條目是由於索引視圖和使用'inner join'而不是'left join'),然後在這個索引視圖上創建一個全文索引?

對於後者我就不用擔心每次填充「去規範化」表中的客戶端的記錄變化,或任何外國表 - 城市,國家,部門等

或者可能以上都不是,我可以使用一些新的想法以及:)

回答

4

以上都不是。

保持數據標準化並在每個標準化表上創建單獨的FT索引。查詢數據時,查詢相關表格。如果您想要查詢跨越多個表(例如,如果城市,國家或部門包含'約克'),則使用普通查詢UNION運算符來彙總跨多個表的搜索。這就是金融時報的工作方式,所以請保持設計與特色的方式保持一致。不要試圖欺騙,你只會燒你自己。

+0

如果性能是一個問題,OP的問題中的選項1不是一個可行的解決方案嗎?供參考:http://stackoverflow.com/a/8932733/538962 – mg1075 2013-04-12 03:52:03