diff --git a/sql/sql_select.cc b/sql/sql_select.cc
|
index fa33f0e0500..2b45fcd518f 100644
|
--- a/sql/sql_select.cc
|
+++ b/sql/sql_select.cc
|
@@ -8976,6 +8976,11 @@ optimize_straight_join(JOIN *join, table_map join_tables)
|
read_time+= COST_ADD(read_time - filter_cmp_gain,
|
COST_ADD(position->read_time,
|
record_count / TIME_FOR_COMPARE));
|
+ if (unlikely(thd->trace_started()))
|
+ {
|
+ trace_one_table.add("rows_for_plan", record_count);
|
+ trace_one_table.add("cost_for_plan", read_time);
|
+ }
|
advance_sj_state(join, join_tables, idx, &record_count, &read_time,
|
&loose_scan_pos);
|
|
@@ -8985,6 +8990,16 @@ optimize_straight_join(JOIN *join, table_map join_tables)
|
pushdown_cond_selectivity= table_cond_selectivity(join, idx, s,
|
join_tables);
|
position->cond_selectivity= pushdown_cond_selectivity;
|
+
|
+ if (unlikely(thd->trace_started()))
|
+ {
|
+ if (pushdown_cond_selectivity < 1.0)
|
+ {
|
+ trace_one_table.add("selectivity", pushdown_cond_selectivity);
|
+ trace_one_table.add("estimated_join_cardinality",
|
+ (record_count * pushdown_cond_selectivity));
|
+ }
|
+ }
|
++idx;
|
}
|
|