索引属性 (AD DS)
可以对属性编制索引。 为属性编制索引可以提高该属性的查询性能。
当属性的架构定义中的 searchFlags 属性的最小有效位设置为 1 时,会为属性编制索引。 将 searchFlags 属性架构定义的最低有效位设置为 1 将动态生成索引。 将 searchFlags 属性架构定义的最小有效位设置为 0 将导致删除该属性的索引。 索引将由域控制器上的后台线程自动生成。
理想情况下,索引属性应是单个值,具有均匀分布在实例集中的高度唯一值。 属性的值越不唯一,索引的有效性就越低。
多值属性也可以编制索引,但是就存储、更新和搜索时间而言,为多值属性生成索引的成本更大。 多值属性的唯一性要求与单值属性的唯一性要求相同,值越唯一,索引就越有效。
一个类的索引属性越多,创建该类的新实例所需的时间就越长。
索引应用于属性,而不是类。 也就是说,当一个属性被标记为索引时,该属性的所有实例都会添加到索引中,而不仅仅是作为特定类成员的实例。
若要验证服务器是否使用索引来处理查询,请将域控制器上的以下注册表值设置为 4。 然后对该域控制器执行查询,并在目录事件日志中查找有关用于处理查询的索引(如果有的话)。
HKEY_LOCAL_MACHINE
SYSTEM
Current Control Set
Services
NTDS
Diagnostics
9 Internal Processing
有关 searchFlags 属性中其他位的详细信息,请参阅属性的特征。