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

Benchmark parts of query-processing

    XMLWordPrintable

Details

    Description

      For optimization of query processing in general, as well as for MDEV-16670 particularly we need to know how much time took each part of query processing for simple queries (no optimisation and no big joins). I think we can split processing on such phases:

      1) parsing
      2) open and lock tables (common overhead and per table)
      2.1) simple queries
      2.2) if simple trigger involved (prelocking opening trigger and so on)
      3) prepare
      4) optimization
      5) execution and sending results (if possible sending reults separately for localhost connection)
      6) closing tables
      7) cleanup

      It would be nice to check
      a) simple selects (for 1 row and 2 row MyISAM tables)
      SELECT a from t1;
      SELECT a from t1, t2 where t1.primary_key= t2.primary_key;
      SELECT a from t1, t2, t3 where t1.primary_key= t2.primary_key and t2.primary_key= t3.primary_key;
      ... so on
      b) simple update:
      UPDATE t1 SET a=1;

      c) simple delete
      DELETE FROM t1 where a=1; (we need condition to prevent turning it to truncate)

      e) (lower priority) multi delete and multi-update which are specific SELECTs (interesting to see how it compared to simple UPDATE and usual SELECT.

      Also it is interesting to compare 5.5 and 10.5 to see if we have much regress for simple queries at all (and find it if we really have it a lot).

      Attachments

        Issue Links

          Activity

            People

              monty Michael Widenius
              sanja Oleksandr Byelkin
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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