diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2012-04-02 21:41:54 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2012-04-02 21:41:54 +0400 |
commit | 2a16e7674b9462586ef883e5678b21c87ca5f045 (patch) | |
tree | 629effcf9ae4f61c5c39368fccf4ab05dc5f1b0b /sql/table.h | |
parent | 84a53543c5cca294e771cd7629e8beb8327320f5 (diff) | |
download | mariadb-git-2a16e7674b9462586ef883e5678b21c87ca5f045.tar.gz |
BUG#913030: Optimizer chooses a suboptimal excution plan for Q18 from DBT-3
- When doing join optimization, pre-sort the tables so that they mimic the execution
order we've had with 'semijoin=off'.
- That way, we will not get regressions when there are two query plans (the old and the
new) that have indentical costs but different execution times (because of factors that
the optimizer was not able to take into account).
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/table.h b/sql/table.h index 710359b04c2..ab63250a8ce 100644 --- a/sql/table.h +++ b/sql/table.h @@ -1342,6 +1342,8 @@ struct TABLE_LIST /* If this is a non-jtbm semi-join nest: corresponding subselect predicate */ Item_in_subselect *sj_subq_pred; + table_map original_subq_pred_used_tables; + /* If this is a jtbm semi-join object: corresponding subselect predicate */ Item_in_subselect *jtbm_subselect; /* TODO: check if this can be joined with tablenr_exec */ |