•  
      request #46794 Improve index coverage for artifact links types
    Infos
    #46794
    Manuel Vacelet (vaceletm)
    2026-02-17 15:34
    2026-02-17 14:16
    48519
    Details
    Improve index coverage for artifact links types

    Getting the list of artifact links types (natures) can be slow on big databases because of prefix index (nature(10)). This affect two queries:

    SELECT DISTINCT nature AS shortname
                    FROM tracker_changeset_value_artifactlink
                    WHERE nature IS NOT NULL
    

    as well as

    SELECT DISTINCT nature
                      FROM tracker_changeset_value_artifactlink
                      JOIN tracker_changeset_value ON (tracker_changeset_value_artifactlink.changeset_value_id = tracker_changeset_value.id)
                      JOIN tracker_changeset ON (tracker_changeset_value.changeset_id = tracker_changeset.id)
                      JOIN tracker_artifact ON (tracker_changeset.artifact_id = tracker_artifact.id)
                      JOIN tracker ON (tracker_artifact.tracker_id = tracker.id)
                     WHERE tracker.group_id = '879'
                     ORDER BY nature ASC;
    

    The index should be on full field otherwise, due to DISTINCT the index cannot be used and generated full scan of the table.

    Trackers
    Empty
    Empty
    • [ ] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Manuel Vacelet (vaceletm)
    Closed
    2026-02-17
    Attachments
    Empty
    References

    Follow-ups