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/04/08 06:57:19 UTC

[GitHub] [incubator-doris] zenoyang opened a new issue, #8914: [Enhancement] AggregationNode optimization

zenoyang opened a new issue, #8914:
URL: https://github.com/apache/incubator-doris/issues/8914

   ### Search before asking
   
   - [X] I had searched in the [issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and found no similar issues.
   
   
   ### Description
   
   ## background
   Test the current Doris (2a25b90cb) vectorized (including storage layer vectorization, low-cardinality column optimization), SSB Q2.1 single-table query, Sql is as follows,
   ```sql
   SELECT
       sum(LO_REVENUE),
       (LO_ORDERDATE DIV 10000) AS year,
       P_BRAND
   FROM lineorder_flat
   WHERE P_CATEGORY = 'MFGR#12' AND S_REGION = 'AMERICA'
   GROUP BY
       year,
       P_BRAND
   ORDER BY
       year,
       P_BRAND;
   ```
   The key information of the Profile is as follows:
   ```
   - Total: 274ms
           VAGGREGATION_NODE (id=1):(Active: 252.260ms, % non-child: 77.37%)
              - ExecOption: Streaming Preaggregation
              - BuildTime: 193.163ms
              - ExecTime: 6.583ms
              - ExprTime: 108.693ms
              - GetResultsTime: 0ns
              - MergeTime: 0ns
              - PeakMemoryUsage: 0.00 
              - RowsReturned: 280
              - RowsReturnedRate: 1.109K /sec
   
   VOLAP_SCAN_NODE (id=0):(Active: 39.909ms, % non-child: 14.54%)
   - ScanTime: 6s275ms
   ```
   `BuildTime` represents the total time spent on the operator, `ExprTime` represents the computation time of the expression following group by, and `ExecTime` represents the time consumed by the aggregation function
   
   It can be seen that `PreAggNode` takes 193.163ms, accounting for 70.50% of the total SQL time.
   The `ScanNode` takes 39.909ms, which only accounts for 14.57% of the total SQL time.
   
   Therefore, the next plan is to optimize `AggNode`, especially `probe expr`
   
   ### Solution
   
   optimization
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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.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


[GitHub] [incubator-doris] zenoyang closed issue #8914: [Enhancement] AggregationNode optimization

Posted by GitBox <gi...@apache.org>.
zenoyang closed issue #8914: [Enhancement] AggregationNode optimization
URL: https://github.com/apache/incubator-doris/issues/8914


-- 
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