Bad estimate of the number of rows in derived table with LIMIT clause

Bug #917990 reported by Igor Babaev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Released
Medium
Igor Babaev

Bug 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)

Changed in maria:
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Igor Babaev (igorb-seattle)
milestone: none → 5.3
Revision history for this message
Igor Babaev (igorb-seattle) wrote :

Lp bug #916551 is a duplicate of this bug.

Changed in maria:
status: Confirmed → Fix Committed
Changed in maria:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.