btr0cur.c:

  Fix a major bug in InnoDB query estimator for queries of type SELECT ... WHERE col < x and SELECT ... WHERE col > x; MySQL could pick a table scan though the result set was only a few rows in a big table
parent 493e3911
......@@ -604,12 +604,12 @@ btr_cur_open_at_index_side(
page_cur_set_after_last(page, page_cursor);
}
if (height == 0) {
if (estimate) {
btr_cur_add_path_info(cursor, height, root_height);
btr_cur_add_path_info(cursor, height,
root_height);
}
if (height == 0) {
break;
}
......@@ -621,6 +621,10 @@ btr_cur_open_at_index_side(
page_cur_move_to_prev(page_cursor);
}
if (estimate) {
btr_cur_add_path_info(cursor, height, root_height);
}
height--;
node_ptr = page_cur_get_rec(page_cursor);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment