You've already forked mariadb-columnstore-engine
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:
@ -49,14 +49,16 @@ DictStepJL::DictStepJL(const pDictionaryStep& dict)
|
|||||||
|
|
||||||
hasEqFilter = dict.hasEqualityFilter;
|
hasEqFilter = dict.hasEqualityFilter;
|
||||||
|
|
||||||
if (hasEqFilter)
|
if (hasEqFilter && dict.eqFilter.size()> USEEQFILTERTHRESHOLD)
|
||||||
{
|
{
|
||||||
eqOp = dict.tmpCOP;
|
eqOp = dict.tmpCOP;
|
||||||
eqFilter = dict.eqFilter;
|
eqFilter = dict.eqFilter;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
hasEqFilter=false;
|
||||||
filterString = dict.fFilterString;
|
filterString = dict.fFilterString;
|
||||||
|
}
|
||||||
filterCount = dict.fFilterCount;
|
filterCount = dict.fFilterCount;
|
||||||
charsetNumber = dict.fColType.charsetNumber;
|
charsetNumber = dict.fColType.charsetNumber;
|
||||||
}
|
}
|
||||||
|
@ -544,6 +544,7 @@ class pColScanStep : public JobStep
|
|||||||
/** @brief class pDictionaryStep
|
/** @brief class pDictionaryStep
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
#define USEEQFILTERTHRESHOLD 6
|
||||||
class pDictionaryStep : public JobStep
|
class pDictionaryStep : public JobStep
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -346,8 +346,6 @@ void DictStep::_execute()
|
|||||||
newRidList[i].pos = i;
|
newRidList[i].pos = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
sort(&newRidList[0], &newRidList[bpp->ridCount], TokenSorter());
|
|
||||||
|
|
||||||
tmpResultCounter = 0;
|
tmpResultCounter = 0;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user