btr0cur.c:

  Backport from 4.0: 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 29fafced
...@@ -577,11 +577,11 @@ btr_cur_open_at_index_side( ...@@ -577,11 +577,11 @@ btr_cur_open_at_index_side(
page_cur_set_after_last(page, page_cursor); page_cur_set_after_last(page, page_cursor);
} }
if (estimate) {
btr_cur_add_path_info(cursor, height, root_height);
}
if (height == 0) { if (height == 0) {
if (estimate) {
btr_cur_add_path_info(cursor, height,
root_height);
}
break; break;
} }
...@@ -594,6 +594,10 @@ btr_cur_open_at_index_side( ...@@ -594,6 +594,10 @@ btr_cur_open_at_index_side(
page_cur_move_to_prev(page_cursor); page_cur_move_to_prev(page_cursor);
} }
if (estimate) {
btr_cur_add_path_info(cursor, height, root_height);
}
height--; height--;
node_ptr = page_cur_get_rec(page_cursor); 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