diff options
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index d70dcc82df4..d9d3d90f0d8 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -2333,10 +2333,35 @@ make_join_readinfo(JOIN *join,uint options) } /* These init changes read_record */ if (tab->use_quick == 2) + { tab->read_first_record= join_init_quick_read_record; + statistic_increment(select_range_check_count, &LOCK_status); + } else { tab->read_first_record= join_init_read_record; + if (i == join->const_tables) + { + if (tab->select && tab->select->quick) + { + statistic_increment(select_range_count, &LOCK_status); + } + else + { + statistic_increment(select_scan_count, &LOCK_status); + } + } + else + { + if (tab->select && tab->select->quick) + { + statistic_increment(select_full_range_join_count, &LOCK_status); + } + else + { + statistic_increment(select_full_join_count, &LOCK_status); + } + } if (tab->select && tab->select->quick && table->used_keys & ((key_map) 1 << tab->select->quick->index)) { |