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

Re: performance of >= search filters

At 08:52 PM 9/17/00 -0700, Mark Whitehouse wrote:
>I have an LDAP DB ~50,000 entries.  I have noticed that the performance of
>search filters with >= and <= components is very slow.

OpenLDAP doesn't support any indexing for inequality assertions.

>  i.e.
>      (&(a=x)(b=y)(c=z))
>   will return almost immediatly when a,b,c are indexed
>   but
>     (&(a=x)(b>=y)(c=z))
>   is very, very slow

Because every entry which matches (&(a=x)(c=z)) must be
against the full filter.

>Is there any way to improve the speed of >= and <= search filters?

Avoid them whenever possible.  Combine them with other search
assertions to reduce the number of entries needing to be tested.

Also, you can limit the number of entries via scoping mechanisms.
With 1.2, DN indexing for subtree searching is disabled by default.
If desired, add 'index dn sub' (and build it).

>I am using OpenLDAP 1.2.x.  Will 2.x help?

2.0 doesn't offer inequality indexing either....  (but does
have better (and always enabled) DN indexing).

>Will partitioning the namespace help - at present it is pretty flat.

If you only search a subset of partitions, yes.  If you search
them all, it doesn't matter.