You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2016/02/02 15:37:39 UTC

[jira] [Commented] (OAK-3071) Add a compound index for _modified + _id

    [ https://issues.apache.org/jira/browse/OAK-3071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15128326#comment-15128326 ] 

Chetan Mehrotra commented on OAK-3071:
--------------------------------------

[~mreutegg] Should we also avoid creating the index on modified as it would be covered by compound i.e. for fresh setups?

> Add a compound index for _modified + _id
> ----------------------------------------
>
>                 Key: OAK-3071
>                 URL: https://issues.apache.org/jira/browse/OAK-3071
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mongomk
>            Reporter: Chetan Mehrotra
>            Assignee: Marcel Reutegger
>            Priority: Blocker
>              Labels: performance, resilience
>             Fix For: 1.3.15
>
>
> As explained in OAK-1966 diff logic makes a call like
> bq. db.nodes.find({ _id: { $gt: "3:/content/foo/01/", $lt: "3:/content/foo010" }, _modified: { $gte: 1405085300 } }).sort({_id:1})
> For better and deterministic query performance we would need to create a compound index like \{_modified:1, _id:1\}. This index would ensure that Mongo does not have to perform object scan while evaluating such a query.
> Care must be taken that index is only created by default for fresh setup. For existing setup we should expose a JMX operation which can be invoked by system admin to create the required index as per maintenance window



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)