Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-28846

Poor performance when rowid filter contains no elements

    XMLWordPrintable

Details

    Description

      See details in the attached test case. If we create the right spread of values in the key and pick the range just right, when rowid_filter optimizer switch is enabled, the optimizer will sacrifice a part of the key for the rowid_filter. As a result we use only the u_delete_user and end up examining 5K+ rows out of 10K in the table. If we disable rowid_filter, the user_name constraint is being used, and we examine only 1 row.

      Attachments

        1. optimizer-trace-rowid-filter-off.txt
          7 kB
          Luis Eduardo Oliveira Lizardo
        2. optimizer-trace-rowid-filter-on.txt
          9 kB
          Luis Eduardo Oliveira Lizardo
        3. rowid_filter_bug.test
          750 kB
          Sasha Pachev

        Issue Links

          Activity

            People

              igor Igor Babaev (Inactive)
              spachev Sasha Pachev
              Votes:
              2 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0d
                  0d
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  Logged:
                  Time Spent - 13d 5h
                  13d 5h

                  Git Integration

                    Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.