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]

Reply via email to