[389-users] Optimising queries

Richard Megginson rmeggins at redhat.com
Wed Mar 24 13:56:33 UTC 2010


----- jim at scusting.com wrote:

> Hi,  I have some queries which are showing in the logs as not being 
> indexed (notes=U right?).

Right.  You can also get notes=U if you are hitting the idlscanlist limit (which you are probably not doing).

> In the example below the accountid is
> indexed 
> but the authrole is not, but I would of expected the query to use the
> 
> accountid index?

The "&" operator in this case does not work like a short circuit AND operator in most programming languages.  389 ds may consult both indexes in an attempt to optimize the query.

> 
> conn=308 op=1 SRCH base="o=blah.com" scope=2 
> filter="(&(accountid=abc123)(authrole=PowerUser))" attrs=ALL
> conn=308 op=1 RESULT err=0 tag=101 nentries=1 etime=0 notes=U
> 
> Do I need to index the authrole attribute as well in order for the 
> indexes to be used on a query like this?

Yes.

> If I need to add indexes for
> 
> anything that maybe in included in an & LDAP query, and indexes for 
> anything that may require sorting on (my previous post) then I'll end
> up 
> with indexes for just about everything!

Perhaps.

> 
> Can anyone recommend any good sites & tools for explaining LDAP
> queries 
> and indexing?  I did some searching but not found anything usefull
> which 
> explains why the above would not be indexed.  I have previously used 
> MySQL and I'm sure the above equivalent which just use the accountid 
> index and not worry about the authrole not being indexed.

In the LDAP world this is highly server dependent, so there is not really a sort of generic LDAP server index methodology, as there might be in the SQL world.

I suggest starting here - http://www.redhat.com/docs/manuals/dir-server/8.1/admin/Managing_Indexes.html and here - http://www.redhat.com/docs/manuals/dir-server/8.1/admin/Tuning_DS_Performance.html
> 
> Thanks.
> 
> Jim.
> --
> 389 users mailing list
> 389-users at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/389-users



More information about the 389-users mailing list