[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Search speed regarding BDB_IDL_LOGN and order in search filter
- To: openldap-technical@openldap.org
- Subject: Search speed regarding BDB_IDL_LOGN and order in search filter
- From: Meike Stone <meike.stone@googlemail.com>
- Date: Thu, 31 Jan 2013 17:31:00 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=Rti3fUvaIVg6jKLkyYqiBoonexS/n0yGNx0c1EMNS9o=; b=J1PHJEg8mBAKB/+Ouihzy0oGYTTydpPZ+Ru+RdTMUuySeNo2rA+G5so8+DhRwIRCfO Ajpsq198z/MlZeczHP930uaGX4XM+my7cbBvBAuXYMhghua3ag8bflKDhgWNI0ppEIx9 hDnSrAraYaggtecbXJvmMnfXrZHP17yrd7btQq7yzv+/QW7aOmX2AbysEuZzH5AVjbao whMxU7CciwPYl4E/UduXZxghYj62GmT5YABjYxbBUG83K3mzdIFojq4dHC5moFvNpvtg b720eCowxrjR7s2ckdxpxvDXFwsDxt3j/KhqSZnVUPL7g7jkYB9R7gFs0VBRGxh1XsJq JXhQ==
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