索引属性 (AD DS)

属性可以编制索引。 为属性编制索引可以提高该属性的查询性能。

当属性的架构定义中的 searchFlags 属性的最小有效位设置为 1 时,会为属性编制索引。 将 searchFlags 属性架构定义设置为 1 的最小有效位将动态生成索引。 将 searchFlags 属性架构定义设置为 0 的最小有效位将导致删除该属性的索引。 索引将由域控制器上的后台线程自动生成。

理想情况下,索引属性应是单个值,其高度唯一的值均匀分布于实例集中。 属性值的唯一性越少,索引效果就越低。

多值属性也可以编制索引,但多值属性生成索引的成本在存储、更新和搜索时间方面更大。 多值属性的唯一性要求与单值属性的唯一性要求相同, 值越唯一,索引就越有效。

类具有的索引属性越多,创建新类实例所需的时间就越长。

索引适用于属性,不适用于类。 也就是说,当属性标记为索引时,该属性的所有实例都会添加到索引中,而不仅仅是属于特定类的实例。

若要验证服务器是否使用索引来处理查询,请将域控制器上的以下注册表值设置为 4。 然后对该域控制器执行查询,并在目录事件日志中查找有关用于处理查询的索引(如果有的话)。

HKEY_LOCAL_MACHINE
   SYSTEM
      Current Control Set
         Services
            NTDS
               Diagnostics
                  9 Internal Processing

有关 searchFlags 属性中的其他位的详细信息,请参阅属性 特征。