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

List:       openldap-technical
Subject:    Re: Appropriate index for <= >= filter on generalizedTime
From:       Roman Rybalko <openldap () romanr ! name>
Date:       2012-09-30 14:05:21
Message-ID: 506851A1.60100 () romanr ! name
[Download RAW message or body]


25.09.2012 01:31, Howard Chu пишет:
> Roman Rybalko wrote:
>>
>> How may I optimize (&(>=)(<=)) searches?
> 
> Aside from the equality index, there's not much else to be done. I'd
> suggest you pull the code in RE24 and see how back-mdb performs with
> your data.
> 
Actually MDB works with indexed generalizedTime attribute no faster than
HDB, timings are non-constant (mdb: 22sec-78sec vs hdb: 52sec) probably
due to intensive mmap-io (dataset size: 1M objects).

But eq-index on Integers
olcAttributeTypes: ( 2.999.777.1.1.1.3 NAME 'logOrderingInteger' DESC
'Integer with ordering' EQUALITY integerMatch ORDERING
integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
with (&(<=)(>=)) search filters works on MDB really fast, no slower than
any other eq/sub-index on strings (0.02sec-0.6sec on 1000000 objects
dataset). Didn't tried it on HDB though, may be it works the same, may
be not, but MDB seems has big advantage in memory consuming (MDB is less
memory consuming vs HDB).

So I decided to search my time values encoded into eq-indexed integers
with MDB backend. That fits my requirements best.

-- 
WBR,
Roman Rybalko



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

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