๐๐ฎ๐๐ฎ, ๐๐ป๐ฎ๐น๐๐๐ถ๐ฐ๐ & ๐๐. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
The source is only one block, so it will execute the data row by row in single thread in 3 secs
3. with this pr, we will split the block by `external_server_request_batch_rows` and send the batch on parallel.
๐ณ :) set external_server_request_batch_rows = 5;
0 row read in 0.135 sec. Processed 0 row, 0B (0 row/s, 0B/s)
๐ณ :) select wait(number) from numbers(30) ignore_result;
0 row read in 0.541 sec. Processed 30 row, 240B (55.47 rows/s, 443B/s)
now the query will finish in 0.5 secs
## Tests
- [ ] Unit Test
- [x] Logic Test
- [ ] Benchmark Test
- [ ] No Test - _Explain why_
## Type of change
- [ ] Bug Fix (non-breaking change which fixes an issue)
- [x] New Feature (non-breaking change which adds functionality)
- [ ] Breaking Change (fix or feature that could cause existing functionality not to work as expected)
- [ ] Documentation Update
- [ ] Refactoring
- [x] Performance Improvement
- [ ] Other (please describe):
<!-- Reviewable:start -->
- - -
This change isโ[<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/datafuselabs/databend/16390)
<!-- Reviewable:end -->
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
make external server parallel by batch
external_server_request_batch_rows
๐ณ :) explain pipeline select wait(number) from numbers(30) ignore_result; -[ EXPLAIN ]----------------------------------- EmptySink ร 1 UdfTransform ร 1 CompoundBlockOperator(Map) ร 1 NumbersSourceTransform ร 1
๐ณ :) set external_server_request_batch_rows = 5; 0 row read in 0.135 sec. Processed 0 row, 0B (0 row/s, 0B/s)
๐ณ :) select wait(number) from numbers(30) ignore_result; 0 row read in 0.541 sec. Processed 30 row, 240B (55.47 rows/s, 443B/s)