Что делает быстрый запрос?
При выполнении запроса рассмотрите следующие понятия повышения производительности:
- По возможности отфильтруйте только индексированные атрибуты. Используйте атрибуты индекса, которые вы ожидаете, создадут наименьшее количество попаданий. Дополнительные сведения и полный список индексированных атрибутов для Windows см. в схеме Active Directory.
- Выполните поиск по объектуCategory вместо objectClass , так как objectClass не является индексным свойством.
- Помните о рефералах. Рассмотрите возможность поиска в глобальном каталоге, если атрибуты перечислены как реплика GC.
- Избегайте поиска текста в середине и в конце строки. Например, "cn=*hille*" или "cn=*larouse".
- Предположим, что поиск поддерев возвращает большой результирующий набор. Используйте разбиение по страницам при выполнении поиска поддерев. Затем сервер сможет передавать большой результирующий набор в блоках, уменьшая ресурсы памяти на стороне сервера. Это эффективно уменьшает использование сети и снижает потребность в отправке чрезвычайно больших блоков данных по сети.
- Правильно область поиски, чтобы не получить больше необходимого значения.
- Выполните сложный поиск по нескольким атрибутам, так как он меньше производительности, чем выполнение нескольких поисковых запросов. Один поиск объекта, считывающего два атрибута, является более эффективным, чем два поиска одного и того же объекта, каждый возвращающий один атрибут.
- Для чтения атрибута с большим количеством значений используйте ограничения диапазона, чтобы свести к минимуму размер поиска, чтобы за раз можно было прочитать несколько тысяч элементов. Дополнительные сведения об указании ограничений диапазона атрибутов см. в разделе "Получение диапазона атрибутов".
- Привязка к объекту удерживает дескриптор привязки для остальной части сеанса. Не привязывайтесь и отменяйте привязку для каждого вызова. Если вы используете ADO или OLE DB, не создавайте много объектов подключения.
- Прочтите rootDSE один раз и запомните его содержимое для остальной части сеанса.