Skip to content

branch-3.1: [opt](nereids) use one fragment to execute point query #53541#53575

Merged
morrySnow merged 1 commit intobranch-3.1from
auto-pick-53541-branch-3.1
Jul 19, 2025
Merged

branch-3.1: [opt](nereids) use one fragment to execute point query #53541#53575
morrySnow merged 1 commit intobranch-3.1from
auto-pick-53541-branch-3.1

Conversation

@github-actions
Copy link
Contributor

Cherry-picked from #53541

the nereids planner use two fragments to execute point query and cause
some performance degradation, this pr optimize it by generate one
fragment
@github-actions github-actions bot requested a review from morrySnow as a code owner July 18, 2025 15:17
@hello-stephen
Copy link
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?

@dataroaring dataroaring reopened this Jul 18, 2025
@hello-stephen
Copy link
Contributor

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17599	7035	6669	6669
q2	2081	231	202	202
q3	10566	1129	1132	1129
q4	10448	777	739	739
q5	7738	2864	2786	2786
q6	242	142	143	142
q7	1008	641	646	641
q8	9386	1991	2038	1991
q9	6709	6450	6461	6450
q10	7043	2272	2296	2272
q11	488	277	277	277
q12	427	232	225	225
q13	17805	3009	3010	3009
q14	245	232	228	228
q15	551	513	514	513
q16	509	393	388	388
q17	982	552	591	552
q18	7257	6727	6713	6713
q19	1330	1015	1032	1015
q20	490	211	211	211
q21	3856	3128	3213	3128
q22	1114	1025	1003	1003
Total cold run time: 107874 ms
Total hot run time: 40283 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6645	6587	6565	6565
q2	344	245	249	245
q3	2965	2897	2861	2861
q4	2130	1876	1855	1855
q5	5683	5715	5789	5715
q6	222	142	141	141
q7	2187	1803	1811	1803
q8	3351	3575	3522	3522
q9	8988	8783	8766	8766
q10	3590	3559	3504	3504
q11	596	508	529	508
q12	816	626	599	599
q13	12819	3152	3124	3124
q14	308	289	290	289
q15	563	519	506	506
q16	504	430	438	430
q17	1840	1609	1591	1591
q18	8236	7754	7693	7693
q19	2342	1470	1507	1470
q20	2112	1883	1908	1883
q21	5226	5053	4907	4907
q22	1162	1036	1020	1020
Total cold run time: 72629 ms
Total hot run time: 58997 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 199508 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 5b104352553af2db49c55b9ea9d6d6fe4c485462, data reload: false

query1	1301	919	914	914
query2	6549	1941	1919	1919
query3	10949	4462	4580	4462
query4	33332	23439	23556	23439
query5	3792	582	562	562
query6	303	203	214	203
query7	4015	334	339	334
query8	402	346	345	345
query9	9522	2635	2618	2618
query10	509	295	288	288
query11	18261	15318	15198	15198
query12	186	119	122	119
query13	1600	450	453	450
query14	9217	6757	7544	6757
query15	278	201	206	201
query16	8073	499	424	424
query17	1781	604	612	604
query18	2259	341	333	333
query19	398	179	186	179
query20	142	128	132	128
query21	223	133	136	133
query22	4774	4464	4416	4416
query23	35465	34710	34102	34102
query24	11244	3005	2922	2922
query25	679	425	409	409
query26	1417	191	184	184
query27	2448	362	371	362
query28	7347	2173	2172	2172
query29	870	453	449	449
query30	281	173	174	173
query31	1046	870	865	865
query32	116	66	68	66
query33	791	330	332	330
query34	958	535	560	535
query35	916	779	726	726
query36	1135	975	973	973
query37	154	79	81	79
query38	4143	3935	3982	3935
query39	1527	1500	1485	1485
query40	222	126	123	123
query41	94	97	94	94
query42	127	114	120	114
query43	549	497	486	486
query44	1268	826	817	817
query45	210	192	191	191
query46	1192	749	753	749
query47	2114	1975	1994	1975
query48	461	367	373	367
query49	1012	476	496	476
query50	930	463	447	447
query51	7421	7233	7313	7233
query52	120	101	101	101
query53	281	226	201	201
query54	1328	509	515	509
query55	97	90	90	90
query56	316	287	277	277
query57	1360	1259	1259	1259
query58	277	246	258	246
query59	3181	3004	2991	2991
query60	322	297	298	297
query61	151	180	143	143
query62	862	709	759	709
query63	244	215	209	209
query64	3930	704	738	704
query65	3378	3321	3282	3282
query66	967	478	476	476
query67	16550	16231	15820	15820
query68	4662	571	590	571
query69	471	291	292	291
query70	1178	1121	1172	1121
query71	384	285	295	285
query72	6347	4206	4025	4025
query73	802	367	368	367
query74	10473	9153	9150	9150
query75	3397	2700	2726	2700
query76	2779	1108	1071	1071
query77	456	342	330	330
query78	10492	9651	9581	9581
query79	2527	620	637	620
query80	1241	480	480	480
query81	565	243	243	243
query82	919	101	98	98
query83	270	185	180	180
query84	245	91	95	91
query85	1389	342	335	335
query86	473	307	314	307
query87	4407	4248	4291	4248
query88	4100	2497	2466	2466
query89	447	313	310	310
query90	1924	205	205	205
query91	154	120	121	120
query92	82	64	68	64
query93	2296	548	554	548
query94	828	299	313	299
query95	378	278	280	278
query96	624	291	298	291
query97	3320	3174	3142	3142
query98	229	207	209	207
query99	1564	1305	1322	1305
Total cold run time: 306790 ms
Total hot run time: 199508 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 31.43 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 5b104352553af2db49c55b9ea9d6d6fe4c485462, data reload: false

query1	0.03	0.02	0.03
query2	0.07	0.03	0.04
query3	0.23	0.09	0.06
query4	1.61	0.10	0.10
query5	0.51	0.52	0.51
query6	1.14	0.72	0.72
query7	0.02	0.02	0.02
query8	0.04	0.03	0.04
query9	0.56	0.49	0.51
query10	0.56	0.56	0.55
query11	0.14	0.10	0.10
query12	0.14	0.12	0.11
query13	0.60	0.60	0.59
query14	0.78	0.78	0.80
query15	0.85	0.84	0.84
query16	0.37	0.38	0.39
query17	1.04	1.01	1.07
query18	0.25	0.23	0.23
query19	1.88	1.77	1.78
query20	0.01	0.01	0.02
query21	15.41	0.57	0.58
query22	2.57	2.29	2.58
query23	16.96	1.04	0.81
query24	3.27	1.49	1.88
query25	0.18	0.07	0.06
query26	0.71	0.15	0.15
query27	0.04	0.04	0.05
query28	8.97	0.53	0.49
query29	12.60	3.22	3.21
query30	0.36	0.16	0.16
query31	2.84	0.39	0.39
query32	3.23	0.47	0.47
query33	2.99	3.00	2.97
query34	17.05	4.51	4.50
query35	4.55	4.61	4.64
query36	0.68	0.49	0.49
query37	0.09	0.07	0.08
query38	0.06	0.05	0.05
query39	0.04	0.03	0.04
query40	0.19	0.13	0.14
query41	0.10	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.04
Total cold run time: 103.8 s
Total hot run time: 31.43 s

@morrySnow morrySnow merged commit 5ca653a into branch-3.1 Jul 19, 2025
22 checks passed
@github-actions github-actions bot deleted the auto-pick-53541-branch-3.1 branch July 19, 2025 01:31
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.

5 participants

Comments