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

LP:917990 - Bad estimate of the number of rows in derived table with LIMIT clause

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      If the table expression for a derived table contains a LIMIT clause then the estimate of the number of rows read from the derived table may be badly off in mariadb-5.3:

      MariaDB [test]> create table t1 (a int);
      Query OK, 0 rows affected (0.02 sec)

      MariaDB [test]> insert into t1 values
      -> (8), (3), (4), (7), (9), (5), (1), (2);
      Query OK, 8 rows affected (0.00 sec)
      Records: 8 Duplicates: 0 Warnings: 0

      MariaDB [test]> select * from (select * from t1 limit 3) t;
      ------

      a

      ------

      8
      3
      4

      ------
      3 rows in set (0.00 sec)

      MariaDB [test]> explain select * from (select * from t1 limit 3) t;
      ------------------------------------------------------------------+

      id select_type table type possible_keys key key_len ref rows Extra

      ------------------------------------------------------------------+

      1 PRIMARY <derived2> ALL NULL NULL NULL NULL 8  
      2 DERIVED t1 ALL NULL NULL NULL NULL 8  

      ------------------------------------------------------------------+
      2 rows in set (0.00 sec)

      Attachments

        Activity

          People

            igor Igor Babaev
            igor Igor Babaev
            Votes:
            0 Vote for this issue
            Watchers:
            0 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.