JeonDaehong opened a new issue, #1163: URL: https://github.com/apache/paimon-rust/issues/1163
### Search before asking - [x] I searched in the issues and found nothing similar. ### Motivation A primary-key split is read raw only when it holds a single file. When several small files with disjoint keys are packed into one split (common for level-0 files), every section has one sorted run and nothing to merge, but each row still goes through the sort merge. 2M rows in 4 level-0 files with disjoint keys, one split, `bucket = 1` (memory FileIO, c7i.4xlarge, release build): | | read | |---|---| | packed into one split | 216 ms | | one file per split (raw) | 44 ms | | same data as an append table | 45 ms | ### Solution In `KeyValueFileReader`, stream a section without the sort merge when it has one sorted run, every file has `delete_row_count == 0`, and the engine is deduplicate or first-row. That's the same invariant planning already relies on to read a single-file split raw. ### Anything else? _No response_ ### Willingness to contribute - [x] I'm willing to submit a PR! -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
