1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

when eq Filtercount <6 ,the speed of for loop is faster than hashmap

add threshold for eqFilter
This commit is contained in:
NTH19
2022-08-19 22:35:28 +08:00
parent 50d95bf60a
commit df7c967d54
3 changed files with 5 additions and 4 deletions

View File

@ -49,14 +49,16 @@ DictStepJL::DictStepJL(const pDictionaryStep& dict)
hasEqFilter = dict.hasEqualityFilter;
if (hasEqFilter)
if (hasEqFilter && dict.eqFilter.size()> USEEQFILTERTHRESHOLD)
{
eqOp = dict.tmpCOP;
eqFilter = dict.eqFilter;
}
else
{
hasEqFilter=false;
filterString = dict.fFilterString;
}
filterCount = dict.fFilterCount;
charsetNumber = dict.fColType.charsetNumber;
}

View File

@ -544,6 +544,7 @@ class pColScanStep : public JobStep
/** @brief class pDictionaryStep
*
*/
#define USEEQFILTERTHRESHOLD 6
class pDictionaryStep : public JobStep
{
public:

View File

@ -346,8 +346,6 @@ void DictStep::_execute()
newRidList[i].pos = i;
}
sort(&newRidList[0], &newRidList[bpp->ridCount], TokenSorter());
tmpResultCounter = 0;
i = 0;