Repository: trafodion Updated Branches: refs/heads/master 03487b25a -> f63b28212
[TRAFODION-2913] Tweak some MDAM-related heuristics Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/ae170308 Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/ae170308 Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/ae170308 Branch: refs/heads/master Commit: ae17030878f48aab2be36db7a57d7b11c2413016 Parents: 63e1083 Author: Dave Birdsall <[email protected]> Authored: Wed Jan 17 17:22:24 2018 +0000 Committer: Dave Birdsall <[email protected]> Committed: Wed Jan 17 17:22:24 2018 +0000 ---------------------------------------------------------------------- core/sql/optimizer/ScanOptimizer.cpp | 26 +++----------------------- core/sql/optimizer/ScanOptimizer.h | 3 +-- core/sql/sqlcomp/nadefaults.cpp | 2 +- 3 files changed, 5 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/optimizer/ScanOptimizer.cpp ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/ScanOptimizer.cpp b/core/sql/optimizer/ScanOptimizer.cpp index 5ca7d86..9265a55 100644 --- a/core/sql/optimizer/ScanOptimizer.cpp +++ b/core/sql/optimizer/ScanOptimizer.cpp @@ -3124,8 +3124,7 @@ NABoolean ScanOptimizer::canStillConsiderMDAM(const ValueIdSet partKeyPreds, const ValueIdSet nonKeyColumnSet, const Disjuncts &curDisjuncts, const IndexDesc * indexDesc, - const ValueIdSet externalInputs, - NABoolean mdamFlag) + const ValueIdSet externalInputs) { NABoolean canDoMdam = TRUE; @@ -3135,11 +3134,6 @@ NABoolean ScanOptimizer::canStillConsiderMDAM(const ValueIdSet partKeyPreds, // Check whether MDAM can be considered for this node: // ----------------------------------------------------------------------- - if(CURRSTMT_OPTDEFAULTS->indexEliminationLevel() != OptDefaults::MINIMUM - AND mdamFlag == MDAM_OFF) - canDoMdam = FALSE; - - else if (NOT indexDesc->getNAFileSet()->isKeySequenced()) { // ----------------------------------------------------------- @@ -3477,17 +3471,6 @@ ScanOptimizer::getMdamStatus(const FileScan& fileScan return ScanForceWildCard::MDAM_OFF; } - // The Index elimination project added the MdamFlag which can force - // MDAM off - // - if(CURRSTMT_OPTDEFAULTS->indexEliminationLevel() != OptDefaults::MINIMUM - AND fileScan.getMdamFlag() == MDAM_OFF - && (CmpCommon::getDefault(RANGESPEC_TRANSFORMATION) != DF_ON ) - ) - { - return ScanForceWildCard::MDAM_OFF; - } - // If the number of disjuncts exceeds the maximum, MDAM is forced OFF // if(fileScan.getDisjuncts().entries() > MDAM_MAX_NUM_DISJUNCTS) { @@ -4166,7 +4149,6 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr /* out */ else { ValueIdSet externalInputs = getExternalInputs(); - NABoolean mdamFlag = getMdamFlag(); if (NOT partKeyPreds.isEmpty()) { @@ -4174,8 +4156,7 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr /* out */ nonKeyColumnSet, *curDisjuncts, indexDesc, - externalInputs, - mdamFlag); + externalInputs); } else { @@ -4183,8 +4164,7 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr /* out */ nonKeyColumnSet, getDisjuncts(), indexDesc, - externalInputs, - mdamFlag); + externalInputs); } } http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/optimizer/ScanOptimizer.h ---------------------------------------------------------------------- diff --git a/core/sql/optimizer/ScanOptimizer.h b/core/sql/optimizer/ScanOptimizer.h index 29bafd2..d6f445e 100644 --- a/core/sql/optimizer/ScanOptimizer.h +++ b/core/sql/optimizer/ScanOptimizer.h @@ -387,8 +387,7 @@ public: const ValueIdSet nonKeyColumnSet, const Disjuncts &curDisjuncts, const IndexDesc * indexDesc, - const ValueIdSet externalInputs, - NABoolean mdamFlag); + const ValueIdSet externalInputs); // get and set various probing counters for all partitions. http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/sqlcomp/nadefaults.cpp ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp index a75c20b..ea2d8d4 100644 --- a/core/sql/sqlcomp/nadefaults.cpp +++ b/core/sql/sqlcomp/nadefaults.cpp @@ -1877,7 +1877,7 @@ SDDkwd__(ISO_MAPPING, (char *)SQLCHARSETSTRING_ISO88591), // mdam off on open source at this point XDDkwd__(MDAM_SCAN_METHOD, "ON"), - DDflt0_(MDAM_SELECTION_DEFAULT, "0.5"), + DDflt0_(MDAM_SELECTION_DEFAULT, "8.0"), // Overhead charge for a subset in the rewritten MDAM costing code DDflt0_(MDAM_SUBSET_FACTOR, "8.0"),
