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))'