summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2010-07-17 18:03:50 +0400
committerSergey Petrunya <psergey@askmonty.org>2010-07-17 18:03:50 +0400
commite0999cdf7c2222f37573d50ecd7eeb9612d51a49 (patch)
tree2c4f5112bdd22d72f86b93339d303e7a55a8215d /sql/mysqld.cc
parente1006e9e1f33420d6002660efee4d38f4baa7677 (diff)
downloadmariadb-git-e0999cdf7c2222f37573d50ecd7eeb9612d51a49.tar.gz
DS-MRR support improvements (MWL#123, MWL#124, MWL#125)
- Lots of TODO comments - add mrr_sort_keys flag to @@optimizer_switch - [from Igor] SQL layer part passes HA_MRR_MATERIALIZED_KEYS flag - Don't call rnd_pos() many times in a row if sorted rowid buffer has the same rowid value for multiple consequive (rowid, range_id) pairs.
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 1593a584454..e53c455c3ca 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -308,6 +308,7 @@ static const char *optimizer_switch_names[]=
"partial_match_rowid_merge",
"partial_match_table_scan",
"subquery_cache",
+ "mrr_sort_keys",
#ifndef DBUG_OFF
"table_elimination",
#endif
@@ -329,6 +330,7 @@ static const unsigned int optimizer_switch_names_len[]=
sizeof("partial_match_rowid_merge") - 1,
sizeof("partial_match_table_scan") - 1,
sizeof("subquery_cache") - 1,
+ sizeof("mrr_sort_keys") - 1,
#ifndef DBUG_OFF
sizeof("table_elimination") - 1,
#endif
@@ -415,7 +417,8 @@ static const char *optimizer_switch_str="index_merge=on,index_merge_union=on,"
"semijoin=on,"
"partial_match_rowid_merge=on,"
"partial_match_table_scan=on,"
- "subquery_cache=on"
+ "subquery_cache=on,"
+ "mrr_sort_keys=on"
#ifndef DBUG_OFF
",table_elimination=on";
#else