[
https://issues.apache.org/jira/browse/CALCITE-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
hqx updated CALCITE-4522:
-------------------------
Description:
The old method to compute the cost of sort has some problem.
# When the RelCollation is empty, there is no need to sort, but it still
compute the cpu cost of sort.
# use n * log\(n) * row_byte to estimate the cpu cost may be inaccurate, where
n means the output row count of the sort operator, and row_byte means the
average bytes of one row .
Instead, I give follow suggestion.
# the cpu cost is zero if the RelCollation is empty.
# use min(offset + fetch, input_count) * log\(input_count)* row_byte to
compute the cpu cost.
was:
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.
> Sort operator returns the same cpu cost no matter the RelCollation is empty
> or not
> ----------------------------------------------------------------------------------
>
> 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 the RelCollation is empty, there is no need to sort, but it still
> compute the cpu cost of sort.
> # use n * log\(n) * row_byte to estimate the cpu cost may be inaccurate,
> where n means the output row count of the sort operator, and row_byte means
> the average bytes of one row .
> Instead, I give follow suggestion.
> # the cpu cost is zero if the RelCollation is empty.
> # use min(offset + fetch, input_count) * log\(input_count)* row_byte to
> compute the cpu cost.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)