21.4 Повышение производительности поиска в поддеревьях

Производительность поиска в поддеревьях eDirectory для крупного дерева с высокой степенью вложенности остается неизменной независимо от базового DN поиска. Эта проблема решена с помощью атрибута AncestorID. Атрибут AncestorID представляет собой список идентификаторов всех предков, связанных с каждой записью. Атрибут AncestorID используется при поиске в поддеревьях и ограничивает область поиска.

Этот атрибут заполняется при добавлении записи и после обновления всех записей в DIB. Повторное заполнение всех записей поддерева осуществляется после перемещения поддерева. Тем не менее, поиск по поддеревьям не будет использовать атрибут AncestorID при наполнении атрибута после обновления и перемещения поддерева. Поэтому производительность поиска в поддеревьях остается такой же, как в более ранних по сравнению с eDirectory 8.8 версиях.

Чтобы проверить обновление AncestorIDs после обновления данных:

После наполнения AncestorIDs версия обновления объекта NDS изменяется на 6 или более позднюю. Для просмотра можно использовать iMonitor в разделе История DIB информации об агенте.

Чтобы проверить обновление AncestorIDs после операции перемещения поддерева:

При заполнении AncestorIDs атрибут UpdateInProgress в объекте Псевдосервер содержит список идентификаторов корневого раздела поддерева. После наполнения AncestorIDs атрибут не будет отображаться в разделе Псевдосервер.

DSRepair обновляет атрибут AncestorID, если он недопустим.