Skip to content

[opt](Meta path) nested column prunning meta path#65805

Draft
englefly wants to merge 9 commits into
masterfrom
meta-path
Draft

[opt](Meta path) nested column prunning meta path#65805
englefly wants to merge 9 commits into
masterfrom
meta-path

Conversation

@englefly

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

mrhhsg and others added 4 commits July 17, 2026 17:36
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Nested-column pruning uses terminal NULL and OFFSET components to read only null maps or offsets. The legacy wire format encodes every access path as DATA, which makes those metadata selectors ambiguous with real nested fields that have the same names. Introduce an optional access-path version, preserve it through Thrift and protobuf descriptors, and use the path type to select the authoritative DATA or META payload in the typed version. New BEs continue to decode the legacy all-DATA format from old FEs, while the supported rolling-upgrade order upgrades all BEs before the FE emits typed paths. Refactor nested iterator planning to separate current data, current metadata, and descendant routing, and keep sibling META paths explicit so unrelated DATA projections do not disable metadata-only reads.

### Release note

Fix metadata-only nested-column pruning and distinguish metadata selectors from same-named data fields.

### Check List (For Author)

- Test: Unit Test and Regression Test
    - `./run-fe-ut.sh --run 'org.apache.doris.nereids.rules.rewrite.PruneNestedColumnTest,org.apache.doris.analysis.DescriptorToThriftConverterTest'` (74 passed on the final rebased FE tree)
    - `./run-be-ut.sh --run --filter='ColumnReaderTest.*:SlotDescriptorTest.AccessPathsPreservedThroughProtobuf'` (50 passed before the final rebase; the final rebuild was blocked before GTest by the missing master-added `liblance_c.a`)
    - `nereids_rules_p0/column_pruning/string_length_column_pruning`, `nereids_rules_p0/column_pruning/null_column_pruning`, and `nereids_rules_p0/column_pruning/nested_container_offset_pruning` (passed before the final rebase; the final rerun was blocked by the same missing dependency)
- Behavior changed: Yes. Version-1 paths use explicit DATA/META payload semantics, while absent/version-0 paths retain the legacy encoding.
- Does this need documentation: No

Co-authored-by: minghong <zhouminghong@selectdb.com>
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: The descendant access-path router used generic route terminology for container-specific selection, rewriting, and distribution, and referred to the payload selected by the path type as normalized or active. Rename the internal helpers and result fields to describe their actual behavior, document selected-payload semantics, and keep routing behavior unchanged.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - `./run-be-ut.sh --run --filter='ColumnReaderTest.*'` was attempted, but no test binary ran because `thirdparty/installed/lib64/liblance_c.a` is missing.
    - `build-support/check-format.sh`
- Behavior changed: No. This only renames internal helpers, result fields, local variables, and tests, and clarifies comments.
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Map descendant routing rewrote logical KEYS and VALUES selectors to physical key/value child column names before forwarding paths. Those physical names are storage/schema details and should not participate in the access-path contract. Make Map child iterators consume KEYS/VALUES as their stable logical names, keep explicit selectors unchanged, and expand wildcard paths directly to KEYS/VALUES. Add focused coverage for physical-name independence and nested Map wildcard routing.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - `build-support/check-format.sh`
    - `./run-be-ut.sh --run --filter='ColumnReaderTest.*'` (blocked before compilation because `thirdparty/installed/lib64/liblance_c.a` is missing)
- Behavior changed: No. Map routing uses the same key/value children but no longer depends on their physical names.
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: DescendantAccessPathRouter documented its input assumptions but not the complete per-level processing flow. Add a class-level comment describing common path splitting, current DATA and metadata handling, container-specific Struct/Array/Map routing, child read requirements, and recursive nested processing.

### Release note

None

### Check List (For Author)

- Test: No need to test. Comment-only change.
    - `build-support/check-format.sh`
    - `git diff --check`
- Behavior changed: No.
- Does this need documentation: No
@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@englefly

Copy link
Copy Markdown
Contributor Author

/review

@englefly

Copy link
Copy Markdown
Contributor Author

run buildall

@englefly englefly changed the title Meta path [opt](Meta path) nested column prunning meta path Jul 20, 2026
@englefly
englefly marked this pull request as draft July 20, 2026 07:01
@github-actions

Copy link
Copy Markdown
Contributor

Codex automated review failed and did not complete.

Error: Codex completed, but no new pull request review was submitted for the current head SHA.
Workflow run: https://github.com/apache/doris/actions/runs/29722727270

Please inspect the workflow logs and rerun the review after the underlying issue is resolved.

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 75.71% (53/70) 🎉
Increment coverage report
Complete coverage report

mrhhsg added 2 commits July 20, 2026 16:41
### What problem does this PR solve?

Issue Number: None

Related PR: #65591

Problem Summary: Map descendant access-path routing silently ignored selectors other than `*`, `KEYS`, and `VALUES`. This could drop the only descendant path and prune both key and value iterators instead of reporting an invalid FE-BE access-path contract. Reject invalid selectors during classification while continuing to inspect only the payload selected by the path type.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - Added `ColumnReaderTest.MapRejectsUnrecognizedDescendantSelectors`
    - Focused UT execution was blocked before linking because `thirdparty/installed/lib64/liblance_c.a` is missing
    - `build-support/check-format.sh`
    - `git diff --check`
- Behavior changed: Yes. Invalid Map descendant access-path selectors now return an internal error instead of being silently ignored.
- Does this need documentation: No
Issue Number: None

Related PR: #65591

Problem Summary: Emitting the parent Struct null path for `element_at` null predicates changes the nested-column plan from a child-only predicate path to parent and child null paths. Update the regression assertions and comments to validate both paths. Also replace a misplaced Javadoc marker that caused FE Checkstyle to fail.

None

- Test: Regression test / Manual test
    - `./build.sh --fe`
    - `./run-regression-test.sh --conf output/local-regression/regression-conf-20000.groovy --run -d nereids_rules_p0/column_pruning -s null_column_pruning`
    - `git diff --check`
- Behavior changed: No. This updates validation for the existing Struct null-path behavior.
- Does this need documentation: No
@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 29551 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit f01b15a0a7d03bd3a0e29ad31d9a48476fa1d0fe, data reload: false

------ Round 1 ----------------------------------
============================================
q1	17751	4137	4134	4134
q2	2025	336	199	199
q3	10880	1463	832	832
q4	4780	472	347	347
q5	8417	844	558	558
q6	341	171	138	138
q7	834	839	598	598
q8	10599	1550	1524	1524
q9	5847	4386	4399	4386
q10	6782	1745	1481	1481
q11	505	358	326	326
q12	737	578	460	460
q13	18091	3325	2779	2779
q14	266	268	241	241
q15	q16	793	774	714	714
q17	1063	949	963	949
q18	6860	5762	5528	5528
q19	1190	1309	1138	1138
q20	842	698	580	580
q21	5664	2655	2337	2337
q22	437	352	302	302
Total cold run time: 104704 ms
Total hot run time: 29551 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4404	4320	4303	4303
q2	285	327	210	210
q3	4566	5005	4347	4347
q4	2082	2158	1393	1393
q5	4395	4268	4279	4268
q6	230	176	130	130
q7	2350	1925	1637	1637
q8	2532	2150	2164	2150
q9	7857	7725	7848	7725
q10	4671	4680	4265	4265
q11	575	423	385	385
q12	769	769	532	532
q13	3209	3663	2968	2968
q14	311	308	301	301
q15	q16	752	738	641	641
q17	1368	1326	1337	1326
q18	8095	7514	6931	6931
q19	1109	1085	1091	1085
q20	2253	2220	1933	1933
q21	5293	4597	4434	4434
q22	516	454	408	408
Total cold run time: 57622 ms
Total hot run time: 51372 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 178285 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit f01b15a0a7d03bd3a0e29ad31d9a48476fa1d0fe, data reload: false

query5	4353	630	495	495
query6	472	225	206	206
query7	4865	599	345	345
query8	356	192	179	179
query9	8801	4145	4157	4145
query10	497	375	308	308
query11	5942	2379	2116	2116
query12	157	105	100	100
query13	1263	622	458	458
query14	6260	5197	4912	4912
query14_1	4243	4256	4228	4228
query15	213	206	183	183
query16	1063	478	472	472
query17	1129	748	595	595
query18	2503	484	358	358
query19	212	194	152	152
query20	112	110	107	107
query21	245	163	139	139
query22	13657	13558	13368	13368
query23	17391	16426	16165	16165
query23_1	16372	16394	16315	16315
query24	7493	1757	1305	1305
query24_1	1289	1315	1309	1309
query25	577	482	389	389
query26	1348	363	216	216
query27	2572	625	387	387
query28	4472	2016	2001	2001
query29	1108	630	511	511
query30	346	264	227	227
query31	1131	1097	984	984
query32	122	66	65	65
query33	549	334	259	259
query34	1208	1179	649	649
query35	769	805	674	674
query36	1206	1194	1030	1030
query37	159	122	99	99
query38	1887	1726	1669	1669
query39	891	876	865	865
query39_1	847	835	844	835
query40	266	204	140	140
query41	64	64	69	64
query42	93	98	96	96
query43	324	324	288	288
query44	1398	779	754	754
query45	196	182	176	176
query46	1083	1193	730	730
query47	2188	2076	2036	2036
query48	411	428	310	310
query49	585	415	297	297
query50	1118	446	371	371
query51	10977	10408	10383	10383
query52	87	89	81	81
query53	259	279	205	205
query54	288	238	224	224
query55	74	74	65	65
query56	314	311	291	291
query57	1336	1313	1208	1208
query58	277	265	240	240
query59	1573	1683	1478	1478
query60	310	277	246	246
query61	153	152	147	147
query62	547	498	432	432
query63	244	209	203	203
query64	2862	1033	859	859
query65	4739	4654	4618	4618
query66	1817	494	385	385
query67	29253	29261	29080	29080
query68	3350	1534	961	961
query69	401	329	279	279
query70	1061	987	966	966
query71	380	336	315	315
query72	3108	2650	2341	2341
query73	812	780	444	444
query74	5051	4914	4731	4731
query75	2525	2501	2155	2155
query76	2341	1191	751	751
query77	355	383	306	306
query78	11801	12003	11437	11437
query79	1533	1184	782	782
query80	1305	547	458	458
query81	521	331	288	288
query82	608	159	122	122
query83	362	329	316	316
query84	279	162	131	131
query85	968	614	543	543
query86	435	299	268	268
query87	1844	1831	1763	1763
query88	3781	2840	2790	2790
query89	446	374	339	339
query90	1904	199	198	198
query91	205	191	162	162
query92	62	66	57	57
query93	1757	1473	1000	1000
query94	727	366	326	326
query95	777	621	471	471
query96	1070	817	351	351
query97	2638	2636	2503	2503
query98	226	206	206	206
query99	1104	1125	977	977
Total cold run time: 265119 ms
Total hot run time: 178285 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 25.73 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit f01b15a0a7d03bd3a0e29ad31d9a48476fa1d0fe, data reload: false

query1	0.01	0.01	0.01
query2	0.14	0.09	0.08
query3	0.40	0.24	0.24
query4	1.60	0.24	0.25
query5	0.33	0.32	0.32
query6	1.16	0.68	0.67
query7	0.04	0.00	0.01
query8	0.09	0.08	0.07
query9	0.51	0.39	0.40
query10	0.59	0.59	0.58
query11	0.32	0.17	0.17
query12	0.31	0.19	0.18
query13	0.53	0.54	0.54
query14	0.96	0.92	0.93
query15	0.68	0.60	0.60
query16	0.39	0.40	0.40
query17	1.02	0.99	1.04
query18	0.30	0.29	0.30
query19	1.88	1.80	1.80
query20	0.02	0.02	0.01
query21	15.40	0.38	0.32
query22	4.84	0.13	0.14
query23	15.82	0.50	0.31
query24	2.43	0.61	0.45
query25	0.15	0.11	0.10
query26	0.75	0.27	0.22
query27	0.10	0.10	0.10
query28	3.47	0.90	0.56
query29	12.50	4.28	3.36
query30	0.40	0.27	0.26
query31	2.77	0.64	0.33
query32	3.23	0.61	0.47
query33	2.97	2.96	3.01
query34	15.76	4.24	3.33
query35	3.31	3.24	3.35
query36	0.67	0.53	0.52
query37	0.12	0.10	0.09
query38	0.08	0.06	0.06
query39	0.07	0.07	0.06
query40	0.20	0.19	0.16
query41	0.13	0.08	0.07
query42	0.09	0.06	0.06
query43	0.07	0.07	0.07
Total cold run time: 96.61 s
Total hot run time: 25.73 s

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 91.39% (308/337) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 57.53% (24009/41735)
Line Coverage 41.25% (236188/572634)
Region Coverage 37.03% (186421/503457)
Branch Coverage 38.28% (83890/219149)

@englefly

Copy link
Copy Markdown
Contributor Author

/review

@englefly

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 77.62% (1908/2458)
Line Coverage 64.47% (34150/52968)
Region Coverage 64.90% (17572/27076)
Branch Coverage 54.05% (9418/17424)

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review: changes requested

I found one blocking issue: the newly added outer-join FE unit test expects a DATA access path that the changed collector cannot emit for the nullable struct field declared by that fixture. The inline comment gives the exact trace and correction.

Critical checkpoint summary:

  • Goal and scope: the PR introduces versioned typed DATA/META access paths and recursively routes metadata-only reads through scalar, Struct, Array, and Map iterators. The 14-file scope is cohesive around that protocol and pruning change.
  • Correctness and tests: descriptor forwarding, nested routing, read phases, map wildcard expansion, physical-versus-synthetic nullability, and the added FE/BE test matrices were reviewed. One new FE assertion is internally inconsistent and deterministically fails; no other substantiated correctness issue remains.
  • Compatibility: reachable old-FE to new-BE traffic remains compatible through legacy DATA encoding. New-FE to old-BE typed META traffic is mechanically incompatible, but it is outside Doris's supported BE-first rolling-upgrade order, so it is not reported as a defect. Thrift/protobuf forwarding otherwise preserves version, type, and selected payload.
  • Parallel and special paths: external FileScan/TVF paths normalize META suffixes back to DATA before AccessPathParser; variant, MV-fragment, short-circuit, row-id, and deep nested paths were checked without another finding.
  • Concurrency, lifecycle, configuration, persistence, and write paths: this PR does not introduce material changes in these areas. Error validation and status propagation are explicit, and routing work occurs during iterator setup rather than row hot loops.
  • Validation: review was static because the review contract prohibited builds and this checkout lacks thirdparty/installed and protoc. Live CI had passed compilation, Checkstyle, Clang Formatter, license, and dependency checks at submission time; FE/BE and regression suites were still running. The macOS BE-UT failure was an unrelated runner JDK-version setup failure.
  • User focus: no additional focus points were supplied.

+ " on driving_tbl.id = not_null_struct_tbl.id"
+ " where element_at(not_null_struct_tbl.s, 'f') is null",
// expect-contain: field is read (DATA path)
ImmutableList.of(path("s", "f")),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Expect the nullable field's metadata path

The DDL above declares struct<f:int>, so f is nullable by default. Starting from the IS NULL META context, visitElementAt only resets to DATA when !field.isNullable(); here it suppresses the physical root [s,NULL] but records META [s,f,NULL]. Because ColumnAccessPath.compareTo includes the type, this new test cannot find DATA [s,f] and fails. Please expect metaPath("s", "f", "NULL") while continuing to forbid root META [s,NULL]; the separate programmatic testNotNullFieldPreservedInAccessPaths() test already covers the non-nullable-field DATA branch.

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 77.38% (65/84) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 93.24% (317/340) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 74.96% (30519/40711)
Line Coverage 59.17% (336730/569120)
Region Coverage 55.90% (282473/505355)
Branch Coverage 57.27% (125597/219293)

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 29454 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit aa59c38ee5bdbfc08b2d70f56e385e93e8644c0e, data reload: false

------ Round 1 ----------------------------------
============================================
q1	17595	4045	4048	4045
q2	2345	324	194	194
q3	10744	1396	827	827
q4	4743	469	342	342
q5	8195	855	576	576
q6	309	170	140	140
q7	813	830	605	605
q8	10580	1492	1654	1492
q9	5944	4345	4347	4345
q10	6781	1739	1445	1445
q11	517	345	318	318
q12	739	585	482	482
q13	18117	3369	2786	2786
q14	277	258	241	241
q15	q16	788	767	704	704
q17	1100	978	961	961
q18	6971	5699	5546	5546
q19	1780	1342	1075	1075
q20	809	690	574	574
q21	5670	2598	2456	2456
q22	438	348	300	300
Total cold run time: 105255 ms
Total hot run time: 29454 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4410	4235	4264	4235
q2	291	318	208	208
q3	4571	4910	4339	4339
q4	2067	2153	1350	1350
q5	4351	4245	4241	4241
q6	226	174	128	128
q7	2238	1870	1600	1600
q8	2478	2094	2089	2089
q9	7777	7713	7692	7692
q10	4678	4694	4172	4172
q11	572	523	385	385
q12	732	754	531	531
q13	3227	3502	3037	3037
q14	291	288	273	273
q15	q16	687	719	652	652
q17	1359	1297	1321	1297
q18	7913	7277	6756	6756
q19	1117	1055	1076	1055
q20	2219	2204	1930	1930
q21	5219	4529	4382	4382
q22	513	445	414	414
Total cold run time: 56936 ms
Total hot run time: 50766 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 177205 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit aa59c38ee5bdbfc08b2d70f56e385e93e8644c0e, data reload: false

query5	4330	633	471	471
query6	481	223	212	212
query7	4860	612	344	344
query8	348	186	182	182
query9	8810	4002	3970	3970
query10	481	355	308	308
query11	5870	2325	2158	2158
query12	165	101	98	98
query13	1257	596	433	433
query14	6276	5193	4870	4870
query14_1	4229	4232	4241	4232
query15	217	204	185	185
query16	1062	521	443	443
query17	1094	698	554	554
query18	2498	465	341	341
query19	220	181	140	140
query20	112	108	105	105
query21	228	156	130	130
query22	13620	13549	13303	13303
query23	17302	16487	16008	16008
query23_1	16089	16149	16233	16149
query24	7535	1737	1268	1268
query24_1	1271	1294	1275	1275
query25	551	446	354	354
query26	1342	350	218	218
query27	2569	595	402	402
query28	4459	1969	1990	1969
query29	1076	599	464	464
query30	344	269	227	227
query31	1111	1090	978	978
query32	120	62	61	61
query33	518	303	246	246
query34	1187	1110	635	635
query35	781	797	670	670
query36	1189	1184	1037	1037
query37	151	102	89	89
query38	1895	1703	1674	1674
query39	888	869	860	860
query39_1	865	841	829	829
query40	249	165	144	144
query41	71	64	63	63
query42	100	90	91	90
query43	321	321	276	276
query44	1401	761	734	734
query45	197	185	174	174
query46	1008	1158	748	748
query47	2118	2070	1942	1942
query48	422	441	309	309
query49	586	427	314	314
query50	1046	432	331	331
query51	10982	10829	10820	10820
query52	86	87	73	73
query53	272	269	202	202
query54	285	231	220	220
query55	72	72	64	64
query56	326	307	280	280
query57	1304	1298	1203	1203
query58	295	264	251	251
query59	1540	1617	1421	1421
query60	343	265	248	248
query61	150	145	152	145
query62	568	498	420	420
query63	244	204	202	202
query64	2921	1166	984	984
query65	4735	4646	4686	4646
query66	1819	520	404	404
query67	29300	29172	29123	29123
query68	3200	1689	1029	1029
query69	412	305	275	275
query70	1039	945	941	941
query71	393	344	316	316
query72	3158	2862	2339	2339
query73	807	760	422	422
query74	5064	4937	4738	4738
query75	2530	2492	2208	2208
query76	2339	1109	709	709
query77	337	374	278	278
query78	11914	11739	11280	11280
query79	1432	1129	744	744
query80	1266	540	471	471
query81	526	329	300	300
query82	651	159	119	119
query83	386	318	294	294
query84	291	162	132	132
query85	970	663	538	538
query86	431	285	271	271
query87	1834	1828	1754	1754
query88	3699	2793	2768	2768
query89	454	368	335	335
query90	1913	200	192	192
query91	201	187	161	161
query92	62	64	53	53
query93	1733	1529	967	967
query94	707	353	313	313
query95	801	624	467	467
query96	1091	783	317	317
query97	2611	2630	2490	2490
query98	225	206	202	202
query99	1077	1111	953	953
Total cold run time: 264003 ms
Total hot run time: 177205 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 25.57 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit aa59c38ee5bdbfc08b2d70f56e385e93e8644c0e, data reload: false

query1	0.01	0.01	0.00
query2	0.15	0.09	0.08
query3	0.44	0.24	0.24
query4	1.61	0.25	0.25
query5	0.34	0.32	0.31
query6	1.16	0.68	0.67
query7	0.04	0.01	0.00
query8	0.09	0.07	0.07
query9	0.54	0.38	0.38
query10	0.58	0.57	0.58
query11	0.33	0.18	0.18
query12	0.31	0.19	0.18
query13	0.52	0.52	0.53
query14	0.93	0.93	0.94
query15	0.69	0.60	0.60
query16	0.38	0.38	0.39
query17	0.99	0.99	1.00
query18	0.30	0.28	0.28
query19	1.91	1.81	1.83
query20	0.02	0.01	0.02
query21	15.38	0.40	0.32
query22	4.72	0.14	0.13
query23	15.79	0.50	0.30
query24	2.46	0.63	0.45
query25	0.16	0.11	0.10
query26	0.82	0.27	0.21
query27	0.10	0.10	0.09
query28	3.60	0.89	0.52
query29	12.45	4.26	3.30
query30	0.45	0.26	0.24
query31	2.75	0.56	0.31
query32	3.22	0.59	0.48
query33	2.96	2.96	2.96
query34	15.79	4.11	3.37
query35	3.28	3.25	3.28
query36	0.66	0.52	0.50
query37	0.13	0.09	0.09
query38	0.08	0.06	0.07
query39	0.07	0.06	0.06
query40	0.22	0.19	0.18
query41	0.14	0.08	0.08
query42	0.09	0.06	0.06
query43	0.08	0.07	0.06
Total cold run time: 96.74 s
Total hot run time: 25.57 s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants