本人想提高查询速度,建立索引是请问建立填充索引,还是聚集索引。字段中有重复值

sff_666 2008-09-25 04:09:51
如题
...全文
118 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzhenxing013 2008-09-25
  • 打赏
  • 举报
回复
填充分为以下三种方式:

完全填充
如果为全文目录请求完全填充,则为该目录所涉及的所有表中的所有行生成索引项。如果为表请求完全填充,则为该表中的所有行生成索引项。完全填充通常发生在当首先填充目录或索引,然后使用更改跟踪或增量填充来维护索引时。

更改跟踪填充
维护在系统表中已修改的行的记录,并将更改传播到全文索引。通过执行 sp_fulltext_table 启动更改跟踪并为 @action 参数指定 start_change_tracking。使用更改跟踪时,也指定从历史表取得更改并在全文索引中填充更改的时间:

后台
用 start_change_tracking 启动更改跟踪之后,可以通过为 @action 参数指定 start_background_updateindex 来执行 sp_fulltext_table。使用该选项可以在对表中的行进行更改时,将这些更改传播到全文索引。

按需
在该选项下,当执行 sp_fulltext_table 并为 @action 参数指定 update_index 时,将所有跟踪的更改存储到历史中并只将这些更改传播到全文索引。

已调度
可以使用 SQL 代理程序调度执行 sp_fulltext_table 并为 @action 参数指定 update_index 的周期性作业。这会将所有未完成的跟踪更改传播到索引。

增量填充
只调整自上次填充后添加、删除或修改的行的索引项。该功能要求索引表包含 timestamp 数据类型的列。如果表不包含 timestamp 列,则只能执行完全填充或更改跟踪填充。对不包含 timestamp 列的表请求进行增量填充将导致完全填充操作。

如果为一个此前未与目录相关联的表定义新的全文索引,则对目录的下一个增量填充请求将为该表生成所有的项。

如果自上次填充后更改了表的任何元数据,增量填充请求将作为完全填充执行。这包括更改列、索引或全文索引定义。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧