• Markus Koller's avatar
    Optimize DB indexes for ES indexing of notes · a3e71610
    Markus Koller authored
    To index notes, we exclude system notes and use `find_in_batches` to
    load them in batches for submission to the ES bulk import API.
    These queries often result in DB timeouts because the usage of
    `ORDER BY id` results in the `notes_pkey` index being used.
    
    This adds an optimized partial index, and removes the unused index
    `index_notes_on_noteable_type` which is already covered for our
    usage by the existing `index_notes_on_noteable_id_and_noteable_type`.
    
    Newer versions of PostgreSQL (at least 11) are smarter about this and
    use `index_notes_on_project_id_and_noteable_type` instead, so we might
    be able to remove the partial index again in the future.
    a3e71610
schema.rb 202 KB