[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: indexing objectclass: why?

Roel van Meer <rolek@linvision.com> writes:

> This helped. search times went down from 47 seconds to about 0.02
> seconds.
> Can anyone explain to me _why_ this influences performance so much?

There are special entries in the directory that may match your filter
and, even logically part of your search universe, might not be
contained physically in the backend database or searched subtree.

These entries are referrals and aliases.

Unless specific circumstances arise, slapd needs to retrieve those
entries from the database to dereference or chase them to see if they
match your search criteria.

It does this by artificially enhancing your search filter with
objectclass searches.  Look in servers/slapd/back-ldbm/search.c,
function search_candidates.

Well, it might be overkill in some cases, but that's the way it is
implemented now.

So if you don't have an objectclass index, many of your searches will