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

Search speed regarding BDB_IDL_LOGN and order in search filter



Hello,

I'm sorry, but I want to ask again for clarifying.

First question:

- An index slot is loosing precision if the search result for an
(indexed) attribute is larger than 2^16. Then the search time is going
to increase a lot.
- I can change this via BDB_IDL_LOGN.
- But if I have a directory, that holds 200.000 employees with
'(ObjectClass=Employees)', the result is larger than 2^16 and it is
slow.
- lets say, the employees are distributed over 4 continents and the
DIT is structured geographical eg.:

     o=myOrg, c=us (100,000 employees)
     o=myOrg, c=gb ( 30,000  employees)
     o=myOrg, c=de ( 25,000 employees)
     o=myOrg, c=br  ( 45,000 employees)

Can i prevent it this problem with index slot size, if I change the
search base to "o=myOrg, c=gb", because there are only 30,000
employees. This takes me to the second question:

"How is a search filter evaluated?"

Lets say, I combine  three filter via "and" like
'(&(objectlass=Employees)(age=30)(sex=m))' and the all attributes are
indexed. Each filter results:
(objectlass=Employees) => 200,000 entries
(age=30)  => 10,000 entries
(sex=m)    => 3,000 entries

Does the order matter regarding speed, is it better to form the filter
like this?
 '(&(sex=m)(age=30)(objectlass=Employees))'


Thanks Meike