1)我有文本字段FirstName,LastName和City。他们是全文索引。加速SQL Server全文索引通过非索引列的文本重复
2)我也有FK int字段AuthorId和EditorId,而不是全文索引。
上姓=“ABC” AND AUTHORID = 1将首先搜索“ABC”的整个全文索引,然后缩小结果集为AUTHORID甲搜索= 1
这是不好的,因为它是由于全文搜索将在许多不适用的记录上执行,所以会造成巨大的资源浪费。
不幸的是,据我所知,由于FTS过程与SQL Server是分开的,因此无法转向(由AuthorId首先缩小范围,然后全文搜索匹配的子集)。
现在我提出的解决方案,我寻求反馈意见:是否有意义创建另一个计算列,将包括在全文搜索中,将文本标识为作者(例如AUTHORONE)。这样我就可以摆脱AuthorId限制,而是将其作为我全文搜索的一部分(搜索'abc'将是'abc'和'AUTHORONE' - 全部作为全文搜索的一部分执行)。
这是个好主意吗?为什么?