I did any performance tests on my system and I have to notice that all queries with String constrains are very slow.
For the whole example is the index true;
In my testcase an normal query like:
Query query=db.query();
query.constrain(Personal.class);
query.descend("name").constrain("Mustermann");
deliver this results.
Benchmark 6 (Checksumme: 189)--> 342 ms // first round and open DB, all other rounds run with opened DB
Benchmark 6 (Checksumme: 189)--> 76 ms
Benchmark 6 (Checksumme: 189)--> 95 ms
Benchmark 6 (Checksumme: 189)--> 16 ms
Benchmark 6 (Checksumme: 189)--> 15 ms
Benchmark 6 (Checksumme: 189)--> 74 ms
Benchmark 6 (Checksumme: 189)--> 21 ms
But this query is much slower as befor.
Query query=db.query();
query.constrain(Personal.class);
query.descend("name").constrain("Mustermann").startsWith(true);
No matter which string constraint I have used, the query is slow.
Benchmark 6 (Checksumme: 201)--> 550 ms // first round and open DB, all other rounds run with opened DB
Benchmark 6 (Checksumme: 201)--> 207 ms
Benchmark 6 (Checksumme: 201)--> 207 ms
Benchmark 6 (Checksumme: 201)--> 203 ms
Benchmark 6 (Checksumme: 201)--> 206 ms
Benchmark 6 (Checksumme: 201)--> 217 ms
Benchmark 6 (Checksumme: 201)--> 203 ms
Why are queries with (startswith, endswith, contains, like, ...) so much slower????
Can anybody give an advice?
Germany