怎样才能快速查询?

执行查询时,请考虑以下性能增强概念:

  • 如果可能,请仅对索引属性进行筛选。 使用期望生成的命中次数最少的索引属性。 有关 Windows 的详细信息和索引属性的综合列表,请参阅 Active Directory 架构
  • 搜索 objectCategory 而不是 objectClass,因为 objectClass 不是索引属性。
  • 请注意引荐。 如果属性列为 GC 复制,请考虑搜索全局目录。
  • 避免在字符串的中间和末尾搜索文本。 例如,“cn=*hille*”或“cn=*larouse”。
  • 假设子树搜索将返回大型结果集。 执行子树搜索时请使用分页。 然后,服务器将能够以块的形式流式传输大的结果集,从而减少服务器端的内存资源。 这有效地降低了网络使用率,并减少了通过网络发送超大数据块的需要。
  • 正确地确定搜索范围,以免检索到超出所需的内容。
  • 对多个属性执行复杂的搜索,因为这比执行多个搜索对性能的要求低。 一次搜索一个读取两个属性的对象比两次搜索同一对象(每次返回一个属性)更有效。
  • 若要读取具有大量值的属性,请使用范围限制来最小化搜索大小,以便一次读取几千个成员。 有关指定属性范围限制的详细信息,请参阅属性范围检索
  • 绑定到一个对象,在会话的剩余时间保持绑定句柄。 不要为每个调用绑定和取消绑定。 如果使用 ADO 或 OLE DB,请不要创建许多连接对象。
  • 读取一次 rootDSE,并在会话的剩余时间记住它的内容。