[ https://issues.apache.org/jira/browse/OAK-4904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller updated OAK-4904: -------------------------------- Attachment: OAK-4904-v2.patch OAK-4904-v2.patch * the cost for "is not null" and "in(a, b, c)" conditions is unchanged; just "x = y" is affected * added tests > For unique indexes avoid consulting indexes other than property index > --------------------------------------------------------------------- > > Key: OAK-4904 > URL: https://issues.apache.org/jira/browse/OAK-4904 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: query > Reporter: Chetan Mehrotra > Assignee: Chetan Mehrotra > Labels: performance > Fix For: 1.6 > > Attachments: OAK-4904-v1.patch, OAK-4904-v2.patch > > > Currently for queries involving unique index like > {noformat} > SELECT * FROM [nt:base] WHERE [jcr:uuid] = $id > {noformat} > QueryEngine would start consulting all types of index in order of minimum > cost. Where minimum cost are > * PropertyIndex - 2.0 > * LucenePropertyIndex - 2.1 > For such queries in case of match property index returns a cost of (base) 2 + > (count) 1 = 3 due to which QE has to consult Lucene index also. Given such > queries a very frequent it would be better to avoid consulting Lucene index > as that adds unnecessary overhead -- This message was sent by Atlassian JIRA (v6.3.4#6332)