2010-08-15 104 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