You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/06/25 16:43:12 UTC

[GitHub] [doris] mrhhsg commented on pull request #10355: [Optimize] Improve performance like/not like filter through pushdown function to storage engine

mrhhsg commented on PR #10355:
URL: https://github.com/apache/doris/pull/10355#issuecomment-1166322866

   > @mrhhsg Hi, can you help check the changes as below, involved from your commits recently, which will lead to the function pushdown not work in this PR in vectorized mode.
   > 
   > BTW, the pushdown function of like / not like can get 2x performance gain in vectorized execution engine.
   > 
   > ```
   > bool SegmentIterator::_can_evaluated_by_vectorized(ColumnPredicate* predicate) {
   >     auto cid = predicate->column_id();
   >     FieldType field_type = _schema.column(cid)->type();
   >     switch (predicate->type()) {
   >     case PredicateType::EQ:
   >     case PredicateType::NE:
   >     case PredicateType::LE:
   >     case PredicateType::LT:
   >     case PredicateType::GE:
   >     case PredicateType::GT: {
   >         if (field_type == OLAP_FIELD_TYPE_VARCHAR || field_type == OLAP_FIELD_TYPE_CHAR ||
   >             field_type == OLAP_FIELD_TYPE_STRING) {
   >             return config::enable_low_cardinality_optimize &&
   >                    _column_iterators[cid]->is_all_dict_encoding();
   >         } else if (field_type == OLAP_FIELD_TYPE_DECIMAL) {
   >             return false;
   >         }
   >         return true;
   >     }
   >     default:
   >         return false;
   >     }
   > }
   > ```
   
   @compasses I am not sure, this logic should be just the same as the previous.


-- 
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: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org