Twice as many Innodb_rows_read with Rowid-ordered scan
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Invalid
|
Medium
|
Sergey Petrunia |
Bug Description
Not repeatable in maria 5.2. The following query against the DBT-3 scale 1 set:
SELECT COUNT( * ) FROM lineitem
WHERE ( l_commitDATE >= '1998-12-22' AND l_commitDATE IN ( '1993-12-11' , '1994-12-09' )
OR l_suppkey = 10 );
Causes the Innodb_rows_read counter to increase by 1204 , which is twice the number of rows examined by the query.
In maria-5.2, the counter increases by 602
Explain:
*******
id: 1
select_type: SIMPLE
table: lineitem
type: range
possible_keys: i_l_suppkey,
key: i_l_suppkey
key_len: 5
ref: NULL
rows: 601
Extra: Using where; Rowid-ordered scan
1 row in set (0.00 sec)
The table was Innodb, with innodb_
Changed in maria: | |
assignee: | nobody → Sergey Petrunia (sergefp) |
milestone: | none → 5.3 |
Changed in maria: | |
importance: | Undecided → Medium |
summary: |
- Performance regression with Rowid-ordered scan - twice as many - Innodb_rows_read + Twice as many Innodb_rows_read with Rowid-ordered scan |
The effect is repeatable on the latest 5.3: setting
@@optimizer_ switch= 'mrr=on' causes "Rowid-ordered scan" to used, and twice as many Innodb_rows_read counter increments.