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.