yixiutt opened a new issue, #12448: URL: https://github.com/apache/doris/issues/12448
### 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 we used to copy rows one by one in collect_iterator&generic_iterator, and in vectorize, it's better to copy a batch rows to improve performance. ### Solution In collect_iterator&generic_iterator, we use a merge heap to sort rows. We record heap's head address while iterator the merge heap, if address not change, it means that rows in this iterator could be copied in a batch. We copy rows in a block once we meet a new block in merge heap. In this way, we could copy rows in a batch. In clickbench, we improve about 30% in compaction. ### 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-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org