englefly opened a new pull request, #10009:
URL: https://github.com/apache/incubator-doris/pull/10009
# Proposed changes
when column is dict encoded, in_predicate::evaluate() put dict code of
IN_LIST into a set, and then compare the selected codes with column cells. The
selected dict codes are put into a map, by which the evaluate time is O(logN)
It is better to use a std::vector to indicated if a dict word is in IN_LIST,
by which the evaluate time shrinks to O(1).
test evn: ssb_flat 5G
test sql: simplified from ssb q.3.3
SELECT count(c_city) FROM lineorder_flat WHERE C_CITY in ('UNITED
KI1','UNITED KI5');
ShortPredEvalTime is decreased from 240ms to 170ms by average.
在测试环境中 ssb100-flat, 3BE q3.3 从291ms下降到248ms
Issue Number: close #xxx
## Problem Summary:
Describe the overview of changes.
## Checklist(Required)
1. Does it affect the original behavior: (Yes/No/I Don't know)
2. Has unit tests been added: (Yes/No/No Need)
3. Has document been added or modified: (Yes/No/No Need)
4. Does it need to update dependencies: (Yes/No)
5. Are there any changes that cannot be rolled back: (Yes/No)
## Further comments
If this is a relatively large or complex change, kick off the discussion at
[[email protected]](mailto:[email protected]) by explaining why you
chose the solution you did and what alternatives you considered, etc...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]