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

Default optimizer setting changes for MariaDB 10.4

Details

    • 10.4.0-1

    Description

      The current default settings are:

      optimizer_use_condition_selectivity=1
      use_stat_tables=NEVER
      

      This means many optimizations are not enabled.

      During discussion on the optimizer call, figured that we should use defaults like so:

      optimizer_use_condition_selectivity=4
      use_stat_tables=PREFERABLY
      

      The task is:

      • change the defaults
      • This will cause some MTR test result differences
      • Go through the failing test and see:
        • some tests specifically require old settings. Set the variables for these tests.
        • some tests dont' update test results for these.

      cc igor, cvicentiu, sanja, varun_raiko, shagalla

      Attachments

        Issue Links

          Activity

            danblack Daniel Black added a comment -

            varun de7a3b23ba66e0946adde0906f1972e80b0e700a had the wrong MDEV ref.

            danblack Daniel Black added a comment - varun de7a3b23ba66e0946adde0906f1972e80b0e700a had the wrong MDEV ref.

            Well we are not going to change the value for join_cache_level. It will still remain to be 2. We are not having any improved performance gains here because there is no cost based approach for hash join and we unconditionally always prefer hash join.

            varun Varun Gupta (Inactive) added a comment - Well we are not going to change the value for join_cache_level. It will still remain to be 2. We are not having any improved performance gains here because there is no cost based approach for hash join and we unconditionally always prefer hash join.

            The branch where all the changes is 10.4-selectivity4

            varun Varun Gupta (Inactive) added a comment - The branch where all the changes is 10.4-selectivity4

            One issue we came across while changing the defaults that ANALYZE on a table would become quite slow , because it will also calculate the EITS at the same time.

            According to the docs:

            With engine-independent statistics:
            If @@use_stat_tables='never' and PERSISTENT FOR isn't used as part of the ALTER TABLE statement, then only storage engine statistics will be updated and not engine-independent statistics.
            For other values of @@use_stat_tables, both storage engine statistics and engine-independent statistics will be updated.
            

            varun Varun Gupta (Inactive) added a comment - One issue we came across while changing the defaults that ANALYZE on a table would become quite slow , because it will also calculate the EITS at the same time. According to the docs: With engine-independent statistics: If @@use_stat_tables='never' and PERSISTENT FOR isn't used as part of the ALTER TABLE statement, then only storage engine statistics will be updated and not engine-independent statistics. For other values of @@use_stat_tables, both storage engine statistics and engine-independent statistics will be updated.

            Pushed to 10.4

            varun Varun Gupta (Inactive) added a comment - Pushed to 10.4

            People

              varun Varun Gupta (Inactive)
              psergei Sergei Petrunia
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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