summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_select.cc5
-rw-r--r--sql/sql_statistics.cc2
2 files changed, 2 insertions, 5 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index c8c238945ae..ca867b04f51 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -9033,9 +9033,6 @@ double table_multi_eq_cond_selectivity(JOIN *join, uint idx, JOIN_TAB *s,
if (!cond_equal || !cond_equal->current_level.elements)
return sel;
- if (!s->keyuse)
- return sel;
-
Item_equal *item_equal;
List_iterator_fast<Item_equal> it(cond_equal->current_level);
TABLE *table= s->table;
@@ -9126,7 +9123,7 @@ double table_multi_eq_cond_selectivity(JOIN *join, uint idx, JOIN_TAB *s,
curr_eq_fld_sel= get_column_avg_frequency(fld) /
fld->table->stat_records();
if (curr_eq_fld_sel < 1.0)
- set_if_bigger(eq_fld_sel, curr_eq_fld_sel);
+ set_if_smaller(eq_fld_sel, curr_eq_fld_sel);
}
sel*= eq_fld_sel;
}
diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
index 7b600bd45c4..5c6c2499485 100644
--- a/sql/sql_statistics.cc
+++ b/sql/sql_statistics.cc
@@ -3700,7 +3700,7 @@ double get_column_avg_frequency(Field * field)
Column_statistics *col_stats= field->read_stats;
- if (!col_stats)
+ if (!is_eits_usable(field))
res= (double)table->stat_records();
else
res= col_stats->get_avg_frequency();