[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openldap-technical
Subject:    Re: How indexes used with search
From:       Howard Chu <hyc () symas ! com>
Date:       2012-09-26 13:41:37
Message-ID: 50630611.2020502 () symas ! com
[Download RAW message or body]


Emmanuel Lécharny wrote:
> Le 9/26/12 2:01 PM, Howard Chu a écrit :
>> Roman Rybalko wrote:
>>> 25.09.2012 14:57, Roman Rybalko пишет:
>>>> Also it's not clear for me how objectID set is determined when there
>>>> is search on "one" scope? The same when "sub" scope cover not the full
>>>> database contents but a part of the object tree (suffix: cn=test,
>>>> search base: cn=test1,cn=test)? I thought that search with base
>>>> covering not the full backend suffix (but a partial tree) should work
>>>> faster, but seems this is not true, even overhead introduced by
>>>> additional objectID set. Right?
>>> Howard, can you explain it please?
>>
>> The scope is just another set, yes. It must be ANDed with the index
>> sets. Searches with subtree scope over the entire database use a
>> shortcut, instead of reading a scope set we just use a fake set
>> representing all IDs. Searches over any other scope cannot take any
>> shortcut.
>
> As discussed with Howard last month, OneLevel scope can define a set of
> candidate IDs too, as soon as you can extract the children of the base
> entry from the Rdn index. Not sure OpenLDAP support that atm. Howard ?

The actual answer depends on which backend you're using. There's little point 
in discussing it when you can just read the source code to get the details. 
back-bdb uses explicit scope indices. back-hdb and back-mdb use only an rdn index.

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic