我有两张表,文件和修订版。文档有两列:文档ID和标题,修订版有3列:文档ID,修订版ID,正文。
当我对修订表的body列执行全文搜索时,我只想查询最新版本。有没有办法告诉SQL Server只对文档的最新版本的行进行索引?
答案 0 :(得分:2)
Afaik,无法仅为具有特定ID的记录编制索引,但您可以在查询中添加最新的修订版ID。
这可以像添加:
一样完成SELECT
*
FROM
revisions r
WHERE
/* Your r.body condition AND */
r.revisionId =
(SELECT
MAX(mr.revisionId)
FROM
revisions mr
WHERE mr.documentid = r.documentid)
如果您始终只需索引最新版本,则最好将该修订的正文添加到文档表或另一个与文档具有1:1关系的表中。这样,每个文档都有一个索引修订版,而其他文档只存储用于备份。如果您的文档有很多修订版,这将特别有用。