Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1288

More efficient builtin filters _doc_ids and _design

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.2
    • None
    • None

    Description

      We have the _doc_ids and _design _changes filter as of CouchDB 1.1.0.
      While they meet the expectations of applications/users, they're far from efficient for large databases.
      Basically the implementation folds the entire seq btree and then filters values by the document's ID, causing too much IO and busting caches. This makes replication by doc IDs not so efficient as it could be.

      The proposed patch avoids this by doing direct lookups in the ID btree, for _doc_ids, and ranged fold for _design.

      If there are no objections, I would apply to branch 1.2.x besides

      Attachments

        1. couchdb_1288_3.patch
          20 kB
          Filipe David Borba Manana
        2. couchdb_1288_2.patch
          6 kB
          Filipe David Borba Manana

        Activity

          People

            Unassigned Unassigned
            fdmanana Filipe David Borba Manana
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment