[ 
https://issues.apache.org/jira/browse/CALCITE-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295482#comment-17295482
 ] 

Julian Hyde commented on CALCITE-4522:
--------------------------------------

When there is no need to sort, the Sort operator will still sort. So there is 
still a CPU cost. (I presume when you say 'no need to sort' you mean because a 
trait tells us that the input is sorted.)

If you don't like the CPU cost of sorting, drop the Sort operator. Pretending 
it is free will cause it to stick around when it isn't needed.

> optimize sort cost formula
> --------------------------
>
>                 Key: CALCITE-4522
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4522
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: hqx
>            Priority: Minor
>
> The old method to compute the cost of sort has some problem.
>  # when there is no need to sort, it still to compute the cpu cost of sort.
>  # use n * log\(n) * rowBytes to estimate the cpu cost may be inaccurate, 
> where n means the output row count of the sort operator, and rowBytes means 
> the average bytes of one row .
> Instead, I give follow suggestion.
>  # the cpu cost is zero if there is no need to sort.
>  # use m * log\(n)* rowBytes to compute the cpu cost, where m is the sum of 
> offset + limit and n means input row count.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to