Skip to content

Conversation

@morrySnow
Copy link
Contributor

if we meet continuous project or filter in translator, we try to generate SelectNode as far as possible to avoid generate invalid plan

for example

Filter(conjuncts 1)
+-- Limit (limit 10)
    +-- Filter(conjuncts 2)
        +-- Aggregate

will be translated to

SELECT_NODE (conjuncts 1)
+-- AGGREGATE_NODE (conjuncts 2) (limit 10)

@doris-robot
Copy link

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

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17649	4486	4317	4317
q2	2006	183	173	173
q3	11848	946	1179	946
q4	10528	735	766	735
q5	7762	2896	2844	2844
q6	230	138	141	138
q7	958	611	605	605
q8	9313	2077	2107	2077
q9	6985	6534	6518	6518
q10	6999	2216	2300	2216
q11	433	237	237	237
q12	406	230	237	230
q13	18151	3036	3072	3036
q14	291	241	229	229
q15	521	495	491	491
q16	582	509	514	509
q17	976	702	670	670
q18	7308	6792	6823	6792
q19	1389	1099	1030	1030
q20	685	336	328	328
q21	3947	3050	2992	2992
q22	1134	1000	978	978
Total cold run time: 110101 ms
Total hot run time: 38091 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4364	4300	4249	4249
q2	383	279	268	268
q3	2899	2650	2599	2599
q4	1941	1634	1655	1634
q5	5630	5686	5715	5686
q6	235	153	148	148
q7	2236	1774	1829	1774
q8	3294	3420	3403	3403
q9	8862	8881	8777	8777
q10	3552	3350	3412	3350
q11	631	536	537	536
q12	816	637	648	637
q13	14026	3223	3213	3213
q14	328	291	278	278
q15	550	487	496	487
q16	645	593	599	593
q17	1854	1565	1589	1565
q18	8039	7738	7898	7738
q19	1732	1390	1509	1390
q20	2130	1901	1907	1901
q21	5646	5435	5585	5435
q22	1129	1022	1015	1015
Total cold run time: 70922 ms
Total hot run time: 56676 ms

@morrySnow morrySnow force-pushed the prevent_continuous_filter_or_project branch from e5fe1d4 to 2eef885 Compare September 3, 2024 10:01
@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	18071	4500	4477	4477
q2	2185	182	178	178
q3	10474	1176	1183	1176
q4	10144	744	716	716
q5	7727	2833	2785	2785
q6	230	140	138	138
q7	963	623	601	601
q8	9333	2063	2042	2042
q9	7183	6527	6510	6510
q10	7008	2207	2229	2207
q11	474	254	261	254
q12	401	229	225	225
q13	17774	3027	3077	3027
q14	294	248	233	233
q15	520	481	476	476
q16	600	497	491	491
q17	979	715	762	715
q18	7563	6857	6822	6822
q19	1394	1028	1040	1028
q20	674	333	336	333
q21	3937	2911	2913	2911
q22	1113	1002	1020	1002
Total cold run time: 109041 ms
Total hot run time: 38347 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4401	4335	4338	4335
q2	372	263	272	263
q3	2882	2687	2608	2608
q4	1963	1637	1608	1608
q5	5382	5433	5444	5433
q6	231	133	131	131
q7	2110	1751	1738	1738
q8	3212	3378	3357	3357
q9	8412	8426	8482	8426
q10	3496	3210	3206	3206
q11	606	497	517	497
q12	776	605	611	605
q13	13542	3086	3077	3077
q14	309	285	275	275
q15	537	472	487	472
q16	633	575	599	575
q17	1794	1500	1479	1479
q18	7808	7402	7398	7398
q19	1680	1517	1463	1463
q20	2067	1813	1837	1813
q21	5455	5270	5172	5172
q22	1092	1012	1028	1012
Total cold run time: 68760 ms
Total hot run time: 54943 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188187 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 2eef8855c245573363849844a185b6b2e61560bd, data reload: false

query1	904	384	367	367
query2	6463	2055	1935	1935
query3	6652	206	223	206
query4	31677	23293	23239	23239
query5	4216	525	499	499
query6	261	170	185	170
query7	4590	291	284	284
query8	249	233	225	225
query9	8596	2449	2437	2437
query10	441	278	255	255
query11	16140	15203	15111	15111
query12	147	96	97	96
query13	1622	387	374	374
query14	10931	7318	7255	7255
query15	264	170	173	170
query16	7790	441	475	441
query17	1610	556	535	535
query18	1401	294	285	285
query19	322	143	146	143
query20	119	107	107	107
query21	212	107	102	102
query22	4403	4267	4071	4071
query23	33995	33628	33529	33529
query24	11195	2895	2864	2864
query25	611	371	386	371
query26	1144	159	159	159
query27	2311	281	273	273
query28	7288	2031	2030	2030
query29	759	412	403	403
query30	316	153	147	147
query31	990	763	811	763
query32	98	55	55	55
query33	764	286	306	286
query34	949	468	480	468
query35	842	709	708	708
query36	1089	946	903	903
query37	168	98	88	88
query38	3985	4026	3967	3967
query39	1441	1410	1418	1410
query40	206	115	117	115
query41	49	45	46	45
query42	115	97	94	94
query43	521	492	465	465
query44	1237	732	724	724
query45	203	170	170	170
query46	1103	743	756	743
query47	1859	1787	1791	1787
query48	386	288	287	287
query49	1062	422	426	422
query50	808	413	401	401
query51	7066	6806	6811	6806
query52	99	88	85	85
query53	256	183	182	182
query54	889	487	448	448
query55	77	75	73	73
query56	272	257	258	257
query57	1200	1053	1081	1053
query58	238	257	230	230
query59	3059	2829	2947	2829
query60	298	267	266	266
query61	104	100	102	100
query62	842	619	642	619
query63	226	181	179	179
query64	4328	756	709	709
query65	3264	3159	3154	3154
query66	1334	346	328	328
query67	15654	15233	15564	15233
query68	3541	589	572	572
query69	411	275	276	275
query70	1173	1059	1137	1059
query71	334	269	274	269
query72	6426	4064	4121	4064
query73	741	321	331	321
query74	9200	8928	8945	8928
query75	3375	2681	2670	2670
query76	2238	973	993	973
query77	482	326	326	326
query78	9595	9121	8983	8983
query79	1023	526	516	516
query80	677	498	557	498
query81	467	241	235	235
query82	245	143	148	143
query83	170	149	155	149
query84	240	83	78	78
query85	683	295	274	274
query86	322	290	284	284
query87	4477	4343	4250	4250
query88	3155	2330	2322	2322
query89	376	289	291	289
query90	1776	188	190	188
query91	126	100	102	100
query92	62	49	47	47
query93	1035	532	527	527
query94	671	289	290	289
query95	344	247	247	247
query96	588	262	266	262
query97	3190	3060	3104	3060
query98	224	199	205	199
query99	1506	1257	1255	1255
Total cold run time: 282583 ms
Total hot run time: 188187 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.04
query2	0.08	0.05	0.04
query3	0.23	0.04	0.05
query4	1.68	0.07	0.07
query5	0.49	0.49	0.50
query6	1.12	0.72	0.71
query7	0.02	0.01	0.02
query8	0.05	0.04	0.05
query9	0.56	0.48	0.49
query10	0.55	0.55	0.53
query11	0.15	0.11	0.11
query12	0.16	0.12	0.12
query13	0.61	0.60	0.59
query14	2.11	2.13	2.05
query15	0.90	0.83	0.81
query16	0.39	0.37	0.37
query17	1.03	1.02	1.03
query18	0.22	0.20	0.20
query19	1.94	1.79	1.78
query20	0.01	0.01	0.01
query21	15.40	0.66	0.65
query22	4.58	7.08	1.74
query23	18.26	1.39	1.26
query24	2.07	0.23	0.21
query25	0.15	0.08	0.08
query26	0.26	0.18	0.17
query27	0.07	0.08	0.07
query28	13.25	1.02	1.00
query29	12.64	3.37	3.31
query30	0.24	0.05	0.06
query31	2.88	0.41	0.39
query32	3.23	0.47	0.48
query33	2.97	3.02	3.03
query34	17.01	4.39	4.41
query35	4.45	4.41	4.43
query36	0.67	0.47	0.47
query37	0.19	0.15	0.16
query38	0.15	0.14	0.15
query39	0.04	0.04	0.04
query40	0.17	0.13	0.13
query41	0.09	0.04	0.05
query42	0.06	0.04	0.04
query43	0.04	0.04	0.04
Total cold run time: 111.22 s
Total hot run time: 31.78 s

@morrySnow morrySnow force-pushed the prevent_continuous_filter_or_project branch from 2eef885 to 669d07c Compare September 4, 2024 04:22
@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17894	4537	4377	4377
q2	2360	183	176	176
q3	10473	1210	1067	1067
q4	10143	757	720	720
q5	7716	2860	2814	2814
q6	229	136	145	136
q7	966	633	609	609
q8	9349	2059	2080	2059
q9	6917	6529	6515	6515
q10	7010	2248	2244	2244
q11	454	241	252	241
q12	416	235	230	230
q13	18864	3103	3093	3093
q14	285	234	237	234
q15	538	503	503	503
q16	592	522	508	508
q17	982	690	607	607
q18	7482	6885	7007	6885
q19	1398	1063	1058	1058
q20	673	337	338	337
q21	3967	3019	3033	3019
q22	1156	1040	1059	1040
Total cold run time: 109864 ms
Total hot run time: 38472 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4455	4282	4270	4270
q2	389	280	281	280
q3	2882	2645	2647	2645
q4	1919	1648	1627	1627
q5	5435	5392	5401	5392
q6	218	133	131	131
q7	2155	1762	1812	1762
q8	3214	3358	3368	3358
q9	8494	8440	8471	8440
q10	3486	3199	3193	3193
q11	594	507	514	507
q12	826	632	625	625
q13	12570	3131	3147	3131
q14	310	274	278	274
q15	547	505	492	492
q16	643	566	549	549
q17	1785	1503	1525	1503
q18	7870	7496	7472	7472
q19	1655	1411	1419	1411
q20	2067	1836	1818	1818
q21	5483	5345	5282	5282
q22	1142	1046	1038	1038
Total cold run time: 68139 ms
Total hot run time: 55200 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188701 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 669d07c95bd1e09d1b49a9758634960a0e58def0, data reload: false

query1	910	399	379	379
query2	6463	2016	1991	1991
query3	6642	207	212	207
query4	34195	23297	23514	23297
query5	4197	500	480	480
query6	256	185	165	165
query7	4583	295	287	287
query8	271	219	200	200
query9	8547	2504	2487	2487
query10	433	280	288	280
query11	18081	15506	15271	15271
query12	153	98	101	98
query13	1617	383	373	373
query14	9891	7269	7058	7058
query15	231	174	167	167
query16	7550	459	464	459
query17	1594	577	580	577
query18	1582	293	291	291
query19	193	147	142	142
query20	121	107	112	107
query21	210	111	110	110
query22	4481	4118	4227	4118
query23	34817	33467	33279	33279
query24	11112	2924	2854	2854
query25	627	378	384	378
query26	1123	155	154	154
query27	2482	283	278	278
query28	7267	2086	2065	2065
query29	730	420	402	402
query30	312	172	167	167
query31	1013	779	817	779
query32	97	54	57	54
query33	754	307	299	299
query34	953	484	501	484
query35	878	735	688	688
query36	1103	922	930	922
query37	154	94	87	87
query38	4153	3952	3861	3861
query39	1461	1408	1385	1385
query40	206	118	116	116
query41	47	47	44	44
query42	114	95	102	95
query43	515	465	462	462
query44	1199	747	742	742
query45	207	173	172	172
query46	1110	735	750	735
query47	1891	1809	1789	1789
query48	396	288	312	288
query49	1078	453	466	453
query50	831	410	402	402
query51	7080	6983	6892	6892
query52	102	94	88	88
query53	265	189	219	189
query54	945	459	471	459
query55	77	79	73	73
query56	275	260	252	252
query57	1203	1068	1083	1068
query58	242	240	241	240
query59	2979	2762	2813	2762
query60	296	254	268	254
query61	106	98	104	98
query62	873	627	637	627
query63	226	189	188	188
query64	4596	679	647	647
query65	3312	3241	3229	3229
query66	1349	329	335	329
query67	15767	15371	15301	15301
query68	3139	602	577	577
query69	402	278	274	274
query70	1195	1078	1061	1061
query71	349	281	276	276
query72	6279	3845	4137	3845
query73	772	331	330	330
query74	9185	8854	8950	8854
query75	3491	2717	2679	2679
query76	1884	1048	949	949
query77	496	332	333	332
query78	10519	9451	10089	9451
query79	1076	547	552	547
query80	718	524	516	516
query81	455	245	247	245
query82	244	147	137	137
query83	175	153	157	153
query84	219	75	76	75
query85	671	292	309	292
query86	316	298	307	298
query87	4594	4324	4446	4324
query88	2943	2356	2338	2338
query89	402	300	295	295
query90	1798	190	192	190
query91	129	107	104	104
query92	63	52	49	49
query93	1057	552	537	537
query94	697	296	269	269
query95	371	257	252	252
query96	593	267	266	266
query97	3236	3060	3110	3060
query98	230	201	205	201
query99	1480	1287	1251	1251
Total cold run time: 287702 ms
Total hot run time: 188701 ms

@doris-robot
Copy link

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

query1	0.05	0.05	0.04
query2	0.08	0.04	0.04
query3	0.22	0.05	0.06
query4	1.68	0.08	0.09
query5	0.52	0.48	0.50
query6	1.13	0.73	0.74
query7	0.01	0.01	0.01
query8	0.05	0.04	0.05
query9	0.54	0.49	0.48
query10	0.55	0.55	0.54
query11	0.16	0.11	0.12
query12	0.14	0.12	0.12
query13	0.60	0.58	0.58
query14	2.05	2.05	2.12
query15	0.90	0.83	0.84
query16	0.38	0.36	0.38
query17	1.04	0.98	0.96
query18	0.21	0.21	0.20
query19	1.85	1.77	1.81
query20	0.01	0.01	0.01
query21	15.39	0.68	0.66
query22	4.43	6.59	2.67
query23	18.28	1.42	1.31
query24	2.05	0.23	0.23
query25	0.15	0.08	0.08
query26	0.26	0.19	0.18
query27	0.08	0.07	0.08
query28	13.23	1.02	1.00
query29	12.62	3.41	3.43
query30	0.24	0.06	0.05
query31	2.89	0.41	0.39
query32	3.25	0.48	0.49
query33	3.00	2.98	2.99
query34	17.06	4.41	4.36
query35	4.46	4.43	4.43
query36	0.67	0.49	0.49
query37	0.19	0.16	0.16
query38	0.16	0.15	0.14
query39	0.05	0.04	0.04
query40	0.16	0.13	0.12
query41	0.09	0.05	0.05
query42	0.06	0.05	0.05
query43	0.04	0.05	0.04
Total cold run time: 110.98 s
Total hot run time: 32.87 s

@morrySnow morrySnow force-pushed the prevent_continuous_filter_or_project branch from 669d07c to 5eb13c8 Compare September 4, 2024 09:35
@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17928	4515	4432	4432
q2	2340	178	177	177
q3	10477	1125	1103	1103
q4	10141	759	696	696
q5	7736	2815	2833	2815
q6	224	137	138	137
q7	947	607	603	603
q8	9307	2044	2061	2044
q9	7273	6544	6544	6544
q10	7002	2209	2198	2198
q11	448	233	239	233
q12	397	228	220	220
q13	17769	3045	3058	3045
q14	276	241	232	232
q15	530	503	475	475
q16	572	516	507	507
q17	965	671	652	652
q18	7306	6988	6912	6912
q19	1387	905	967	905
q20	680	323	322	322
q21	4374	3029	2932	2932
q22	1138	1008	1077	1008
Total cold run time: 109217 ms
Total hot run time: 38192 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4331	4314	4315	4314
q2	379	280	264	264
q3	2890	2671	2735	2671
q4	1947	1633	1641	1633
q5	5367	5394	5380	5380
q6	221	131	133	131
q7	2129	1704	1741	1704
q8	3231	3324	3339	3324
q9	8417	8362	8376	8362
q10	3470	3183	3158	3158
q11	587	498	502	498
q12	795	621	599	599
q13	11644	3118	3073	3073
q14	302	272	265	265
q15	524	479	471	471
q16	607	567	581	567
q17	1793	1518	1510	1510
q18	7734	7511	7362	7362
q19	1651	1420	1554	1420
q20	2061	1826	1824	1824
q21	5523	5243	5238	5238
q22	1129	1078	1048	1048
Total cold run time: 66732 ms
Total hot run time: 54816 ms

@doris-robot
Copy link

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

query1	917	378	370	370
query2	6474	1937	1953	1937
query3	6664	211	215	211
query4	33940	23346	23079	23079
query5	4158	507	487	487
query6	255	164	166	164
query7	4583	295	290	290
query8	259	206	219	206
query9	8510	2503	2505	2503
query10	437	270	269	269
query11	17621	15012	15000	15000
query12	142	98	97	97
query13	1614	371	375	371
query14	9815	7302	7054	7054
query15	267	174	178	174
query16	7847	475	464	464
query17	1576	574	561	561
query18	2092	309	296	296
query19	255	162	147	147
query20	118	113	110	110
query21	212	106	105	105
query22	4666	4300	4397	4300
query23	34197	33494	33525	33494
query24	11080	2924	2920	2920
query25	633	401	415	401
query26	1157	160	158	158
query27	2809	283	278	278
query28	7595	2086	2065	2065
query29	830	447	435	435
query30	307	163	160	160
query31	989	761	779	761
query32	101	56	54	54
query33	773	301	297	297
query34	965	481	500	481
query35	870	726	719	719
query36	1098	937	971	937
query37	169	98	95	95
query38	3946	3792	3871	3792
query39	1457	1378	1408	1378
query40	200	118	116	116
query41	52	48	46	46
query42	124	97	98	97
query43	513	471	470	470
query44	1202	758	739	739
query45	205	175	169	169
query46	1105	760	768	760
query47	1917	1816	1831	1816
query48	386	302	311	302
query49	1112	441	436	436
query50	804	411	405	405
query51	7107	6763	6916	6763
query52	99	85	87	85
query53	254	184	188	184
query54	989	462	459	459
query55	77	73	78	73
query56	277	267	269	267
query57	1194	1092	1072	1072
query58	249	234	238	234
query59	2936	2776	2766	2766
query60	305	282	273	273
query61	125	118	119	118
query62	844	668	656	656
query63	222	190	185	185
query64	5499	684	679	679
query65	3263	3198	3150	3150
query66	1432	329	333	329
query67	15757	15210	15275	15210
query68	4715	560	559	559
query69	425	271	283	271
query70	1113	1116	1169	1116
query71	412	270	277	270
query72	6638	4016	3967	3967
query73	756	317	324	317
query74	9158	8783	8873	8783
query75	3500	2676	2695	2676
query76	2857	1045	952	952
query77	521	307	337	307
query78	10909	10261	9331	9331
query79	2363	527	546	527
query80	877	505	507	505
query81	593	240	236	236
query82	558	144	144	144
query83	265	151	153	151
query84	268	84	81	81
query85	1178	285	272	272
query86	469	291	271	271
query87	4431	4255	4303	4255
query88	4248	2370	2350	2350
query89	398	287	288	287
query90	1848	190	186	186
query91	124	100	98	98
query92	68	50	49	49
query93	1635	554	538	538
query94	798	297	302	297
query95	338	250	250	250
query96	601	264	264	264
query97	3264	3033	3133	3033
query98	236	208	208	208
query99	1649	1264	1272	1264
Total cold run time: 296860 ms
Total hot run time: 188294 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.04
query2	0.07	0.04	0.03
query3	0.22	0.05	0.05
query4	1.69	0.08	0.07
query5	0.51	0.51	0.51
query6	1.12	0.73	0.73
query7	0.02	0.02	0.01
query8	0.05	0.05	0.05
query9	0.54	0.48	0.49
query10	0.54	0.53	0.52
query11	0.16	0.12	0.11
query12	0.15	0.12	0.13
query13	0.63	0.59	0.58
query14	2.03	2.09	2.05
query15	0.84	0.83	0.83
query16	0.35	0.37	0.36
query17	0.99	1.01	0.98
query18	0.21	0.20	0.20
query19	1.84	1.75	1.78
query20	0.01	0.01	0.01
query21	15.40	0.68	0.67
query22	3.99	6.90	2.38
query23	18.31	1.37	1.28
query24	2.13	0.22	0.22
query25	0.14	0.08	0.08
query26	0.26	0.17	0.17
query27	0.08	0.08	0.08
query28	13.26	1.01	0.99
query29	12.71	3.31	3.30
query30	0.24	0.06	0.06
query31	2.86	0.40	0.40
query32	3.24	0.49	0.46
query33	2.96	2.96	3.04
query34	17.19	4.43	4.44
query35	4.47	4.46	4.52
query36	0.65	0.50	0.50
query37	0.19	0.16	0.16
query38	0.16	0.15	0.16
query39	0.05	0.03	0.03
query40	0.16	0.12	0.13
query41	0.09	0.05	0.05
query42	0.06	0.05	0.05
query43	0.04	0.04	0.04
Total cold run time: 110.66 s
Total hot run time: 32.52 s

@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17664	4565	4372	4372
q2	2029	182	192	182
q3	11137	1164	1138	1138
q4	10645	797	762	762
q5	8096	2945	2871	2871
q6	236	145	139	139
q7	980	620	612	612
q8	9474	2142	2098	2098
q9	7322	6664	6639	6639
q10	7129	2245	2259	2245
q11	465	239	241	239
q12	398	225	223	223
q13	18807	3090	3091	3090
q14	281	230	226	226
q15	548	502	497	497
q16	628	513	500	500
q17	984	677	758	677
q18	7443	6982	6984	6982
q19	1409	1060	1080	1060
q20	695	342	327	327
q21	4012	3081	2963	2963
q22	1090	1000	1001	1000
Total cold run time: 111472 ms
Total hot run time: 38842 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4370	4339	4291	4291
q2	372	258	284	258
q3	2927	2647	2818	2647
q4	1915	1679	1740	1679
q5	5686	5793	5688	5688
q6	242	135	138	135
q7	2273	1854	1817	1817
q8	3323	3481	3463	3463
q9	8999	8778	8603	8603
q10	3563	3335	3353	3335
q11	622	512	491	491
q12	849	658	631	631
q13	9123	3297	3285	3285
q14	317	292	286	286
q15	516	506	482	482
q16	611	589	600	589
q17	1876	1528	1531	1528
q18	8274	7957	7994	7957
q19	1745	1635	1601	1601
q20	2164	1920	1966	1920
q21	5525	5429	5477	5429
q22	1212	1095	1065	1065
Total cold run time: 66504 ms
Total hot run time: 57180 ms

@doris-robot
Copy link

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

query1	1255	906	866	866
query2	6322	1948	1870	1870
query3	10634	3889	3699	3699
query4	58894	26602	23443	23443
query5	5232	493	493	493
query6	413	164	162	162
query7	5755	298	292	292
query8	276	205	214	205
query9	8803	2550	2510	2510
query10	468	269	261	261
query11	18134	15178	15300	15178
query12	161	100	105	100
query13	1572	413	387	387
query14	11006	6983	7476	6983
query15	225	179	175	175
query16	7314	452	489	452
query17	1103	607	596	596
query18	1978	307	307	307
query19	273	155	153	153
query20	118	109	110	109
query21	222	110	109	109
query22	4498	4628	4599	4599
query23	34311	33352	33296	33296
query24	5897	2857	2818	2818
query25	528	371	372	371
query26	672	154	153	153
query27	1761	270	278	270
query28	4000	2074	2061	2061
query29	672	400	403	400
query30	234	167	149	149
query31	945	739	792	739
query32	80	52	52	52
query33	441	287	287	287
query34	850	481	462	462
query35	842	722	715	715
query36	1057	941	958	941
query37	145	89	86	86
query38	4037	3916	3966	3916
query39	1450	1372	1383	1372
query40	196	112	122	112
query41	47	46	45	45
query42	113	96	93	93
query43	502	463	459	459
query44	1060	736	733	733
query45	197	163	171	163
query46	1084	752	737	737
query47	1915	1847	1833	1833
query48	368	313	296	296
query49	759	428	436	428
query50	813	417	418	417
query51	7021	6790	6713	6713
query52	98	86	85	85
query53	257	182	180	180
query54	566	457	447	447
query55	77	75	75	75
query56	290	256	253	253
query57	1212	1080	1089	1080
query58	223	242	243	242
query59	2971	2838	2747	2747
query60	309	256	268	256
query61	100	98	97	97
query62	776	649	649	649
query63	211	183	179	179
query64	2404	663	672	663
query65	3207	3156	3110	3110
query66	693	338	330	330
query67	15619	15088	15436	15088
query68	2987	577	582	577
query69	392	283	283	283
query70	1081	1146	1041	1041
query71	374	274	274	274
query72	6203	3927	3981	3927
query73	747	322	321	321
query74	9146	8968	8826	8826
query75	3384	2664	2675	2664
query76	1361	1058	1033	1033
query77	535	307	315	307
query78	9716	8962	8997	8962
query79	1028	534	527	527
query80	669	509	488	488
query81	468	236	236	236
query82	246	142	150	142
query83	165	146	147	146
query84	260	78	78	78
query85	687	286	273	273
query86	304	290	284	284
query87	4423	4401	4359	4359
query88	3571	2360	2369	2360
query89	377	284	281	281
query90	1958	189	184	184
query91	122	103	98	98
query92	58	51	52	51
query93	1040	538	535	535
query94	740	276	291	276
query95	351	246	244	244
query96	591	266	267	266
query97	3183	3103	3082	3082
query98	213	214	197	197
query99	1502	1242	1292	1242
Total cold run time: 303548 ms
Total hot run time: 192111 ms

@doris-robot
Copy link

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

query1	0.04	0.05	0.04
query2	0.08	0.04	0.04
query3	0.22	0.06	0.06
query4	1.66	0.09	0.07
query5	0.51	0.50	0.50
query6	1.14	0.74	0.73
query7	0.02	0.02	0.01
query8	0.05	0.05	0.05
query9	0.55	0.48	0.49
query10	0.56	0.53	0.55
query11	0.16	0.11	0.12
query12	0.15	0.12	0.13
query13	0.63	0.59	0.59
query14	2.09	2.04	2.11
query15	0.84	0.83	0.81
query16	0.37	0.37	0.35
query17	1.05	1.09	1.00
query18	0.22	0.21	0.21
query19	1.83	1.82	1.77
query20	0.01	0.02	0.01
query21	15.41	0.66	0.66
query22	4.08	6.78	2.33
query23	18.29	1.32	1.31
query24	2.09	0.23	0.24
query25	0.16	0.08	0.08
query26	0.26	0.18	0.17
query27	0.08	0.08	0.08
query28	13.25	1.01	1.00
query29	12.62	3.35	3.35
query30	0.24	0.06	0.07
query31	2.85	0.41	0.40
query32	3.24	0.48	0.48
query33	2.98	2.98	3.05
query34	16.86	4.38	4.40
query35	4.47	4.40	4.41
query36	0.67	0.49	0.49
query37	0.17	0.15	0.15
query38	0.15	0.16	0.14
query39	0.04	0.03	0.04
query40	0.16	0.12	0.13
query41	0.10	0.05	0.05
query42	0.05	0.05	0.05
query43	0.05	0.04	0.04
Total cold run time: 110.45 s
Total hot run time: 32.5 s

@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17614	4484	4285	4285
q2	2028	184	174	174
q3	11785	1030	1121	1030
q4	10506	765	753	753
q5	7758	2888	2850	2850
q6	232	141	141	141
q7	957	620	599	599
q8	9338	2058	2118	2058
q9	7065	6564	6594	6564
q10	7005	2253	2213	2213
q11	489	250	240	240
q12	401	226	230	226
q13	18762	3162	3116	3116
q14	278	235	241	235
q15	518	491	501	491
q16	595	512	512	512
q17	993	674	686	674
q18	7445	6836	6864	6836
q19	1384	1165	1039	1039
q20	701	324	334	324
q21	3898	2983	2810	2810
q22	1111	1036	1001	1001
Total cold run time: 110863 ms
Total hot run time: 38171 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4357	4504	4268	4268
q2	397	269	283	269
q3	2914	2650	2640	2640
q4	1954	1685	1672	1672
q5	5649	5710	5762	5710
q6	227	141	138	138
q7	2240	1823	1828	1823
q8	3326	3432	3507	3432
q9	8809	8922	8898	8898
q10	3647	3482	3363	3363
q11	645	505	532	505
q12	851	686	685	685
q13	14838	3287	3325	3287
q14	320	294	291	291
q15	552	493	493	493
q16	648	573	597	573
q17	1858	1554	1570	1554
q18	8362	7871	8050	7871
q19	1721	1497	1618	1497
q20	2163	1913	1950	1913
q21	5780	5418	5545	5418
q22	1147	1070	1062	1062
Total cold run time: 72405 ms
Total hot run time: 57362 ms

@doris-robot
Copy link

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

query1	1249	899	876	876
query2	6440	1947	1953	1947
query3	10617	3919	3793	3793
query4	59353	24498	23210	23210
query5	5325	508	504	504
query6	401	173	176	173
query7	5748	300	302	300
query8	294	212	218	212
query9	8528	2518	2494	2494
query10	477	281	278	278
query11	18197	15137	15372	15137
query12	161	114	107	107
query13	1543	425	404	404
query14	10072	8066	7643	7643
query15	240	184	180	180
query16	7046	476	500	476
query17	1126	562	556	556
query18	1337	294	299	294
query19	291	147	149	147
query20	119	116	146	116
query21	200	106	103	103
query22	4637	4385	4542	4385
query23	35587	33918	33806	33806
query24	5998	2882	2916	2882
query25	496	381	387	381
query26	646	151	156	151
query27	1733	276	276	276
query28	4000	2080	2066	2066
query29	638	403	407	403
query30	240	159	158	158
query31	950	775	763	763
query32	83	50	53	50
query33	417	284	286	284
query34	870	480	474	474
query35	825	723	715	715
query36	1075	964	938	938
query37	143	93	95	93
query38	4114	3974	3952	3952
query39	1428	1414	1457	1414
query40	211	118	115	115
query41	46	47	46	46
query42	123	97	94	94
query43	510	472	493	472
query44	1127	742	748	742
query45	194	170	164	164
query46	1096	758	727	727
query47	1887	1768	1809	1768
query48	379	306	320	306
query49	764	427	436	427
query50	821	419	424	419
query51	6912	6994	6722	6722
query52	106	85	84	84
query53	248	175	181	175
query54	594	464	456	456
query55	74	72	75	72
query56	280	256	256	256
query57	1162	1061	1069	1061
query58	226	221	217	217
query59	2992	2781	2711	2711
query60	328	271	275	271
query61	103	107	106	106
query62	753	660	649	649
query63	214	182	187	182
query64	2387	687	655	655
query65	3307	3170	3193	3170
query66	633	380	353	353
query67	15307	15255	15124	15124
query68	2935	581	594	581
query69	408	298	294	294
query70	1203	1108	1064	1064
query71	345	272	272	272
query72	5897	4300	4029	4029
query73	743	326	339	326
query74	9260	9031	8984	8984
query75	3337	2696	2718	2696
query76	1595	1038	969	969
query77	560	331	346	331
query78	10760	9250	9084	9084
query79	1055	562	527	527
query80	693	547	509	509
query81	476	238	243	238
query82	444	147	146	146
query83	177	154	152	152
query84	255	79	78	78
query85	751	293	287	287
query86	315	299	295	295
query87	4395	4411	4372	4372
query88	3120	2395	2376	2376
query89	380	289	284	284
query90	2030	196	192	192
query91	128	104	100	100
query92	61	53	53	53
query93	1096	531	537	531
query94	686	292	300	292
query95	356	256	256	256
query96	599	266	268	266
query97	3241	3089	3088	3088
query98	220	205	204	204
query99	1512	1287	1274	1274
Total cold run time: 304461 ms
Total hot run time: 193835 ms

@doris-robot
Copy link

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

query1	0.05	0.05	0.04
query2	0.07	0.04	0.04
query3	0.22	0.05	0.05
query4	1.66	0.08	0.08
query5	0.55	0.51	0.52
query6	1.13	0.74	0.73
query7	0.02	0.02	0.01
query8	0.04	0.04	0.04
query9	0.55	0.49	0.49
query10	0.55	0.52	0.53
query11	0.15	0.11	0.12
query12	0.14	0.12	0.12
query13	0.61	0.58	0.59
query14	2.04	2.06	2.12
query15	0.90	0.81	0.83
query16	0.38	0.38	0.37
query17	1.05	1.06	1.06
query18	0.21	0.20	0.20
query19	1.92	1.86	1.88
query20	0.01	0.01	0.00
query21	15.41	0.66	0.64
query22	4.12	7.11	2.12
query23	18.30	1.45	1.37
query24	2.06	0.25	0.23
query25	0.15	0.09	0.08
query26	0.27	0.19	0.17
query27	0.08	0.07	0.08
query28	13.27	1.02	1.01
query29	12.62	3.41	3.39
query30	0.24	0.06	0.05
query31	2.88	0.41	0.40
query32	3.24	0.49	0.48
query33	3.03	2.99	3.06
query34	17.18	4.42	4.38
query35	4.44	4.47	4.51
query36	0.66	0.47	0.50
query37	0.22	0.16	0.15
query38	0.16	0.15	0.15
query39	0.05	0.04	0.04
query40	0.16	0.12	0.13
query41	0.09	0.05	0.05
query42	0.06	0.05	0.05
query43	0.05	0.04	0.04
Total cold run time: 110.99 s
Total hot run time: 32.6 s

@morrySnow
Copy link
Contributor Author

run cloud_p0

if we meet continuous project or filter in translator, we try to
generate SelectNode as far as possible to avoid generate invalid plan

for example

```
Filter(conjuncts 1)
+-- Limit (limit 10)
    +-- Filter(conjuncts 2)
        +-- Aggregate
```

will be translated to

```
SELECT_NODE (conjuncts 1)
+-- AGGREGATE_NODE (conjuncts 2) (limit 10)
```
@morrySnow morrySnow force-pushed the prevent_continuous_filter_or_project branch from 5eb13c8 to 20271f6 Compare September 6, 2024 08:07
@morrySnow
Copy link
Contributor Author

run buildall

dataroaring pushed a commit that referenced this pull request Oct 9, 2024
if we meet continuous project or filter in translator, we try to
generate SelectNode as far as possible to avoid generate invalid plan

for example

```
Filter(conjuncts 1)
+-- Limit (limit 10)
    +-- Filter(conjuncts 2)
        +-- Aggregate
```

will be translated to

```
SELECT_NODE (conjuncts 1)
+-- AGGREGATE_NODE (conjuncts 2) (limit 10)
```
morrySnow pushed a commit that referenced this pull request Oct 17, 2024
…#41218)

In the previous FileScanNode, some parts that used conjuncts for
predicate conversion were placed in the init phase. However, for the
Nereids planner, pushing the filter down to the scan happens in the
Translator, which means that the ScanNode can only get the complete
conjuncts in the finalized phase. Therefore, in this PR, I have removed
all conjuncts variables in External for the Nereids planner. They no
longer need to store conjuncts themselves or add them to the ScanNode.
Instead, all places in the ScanNode that use conjuncts should be moved
to the finalized phase.

This refactor also fix a performance issue introduced from #40176
After introducing the change of generating SelectNode for consecutive
projects or filters, FileScan still adds conjuncts too early in the init
phase, resulting in the discovery of consecutive filters when the upper
layer continues to translate, a selectnode was unexpectedly generated on
the scannode, causing the project to be unable to prune the scannode
columns. However, the Project node trims columns of SelectNode and
ScanNode differently, which causes ScanNode to scan unnecessary columns.

My modification removes the addition of conjuncts in the scannode step,
so that we can keep the structure from ScanNode to Project and achieve
correct column trimming.
zy-kkk added a commit to zy-kkk/doris that referenced this pull request Oct 22, 2024
…apache#41218)

In the previous FileScanNode, some parts that used conjuncts for
predicate conversion were placed in the init phase. However, for the
Nereids planner, pushing the filter down to the scan happens in the
Translator, which means that the ScanNode can only get the complete
conjuncts in the finalized phase. Therefore, in this PR, I have removed
all conjuncts variables in External for the Nereids planner. They no
longer need to store conjuncts themselves or add them to the ScanNode.
Instead, all places in the ScanNode that use conjuncts should be moved
to the finalized phase.

This refactor also fix a performance issue introduced from apache#40176
After introducing the change of generating SelectNode for consecutive
projects or filters, FileScan still adds conjuncts too early in the init
phase, resulting in the discovery of consecutive filters when the upper
layer continues to translate, a selectnode was unexpectedly generated on
the scannode, causing the project to be unable to prune the scannode
columns. However, the Project node trims columns of SelectNode and
ScanNode differently, which causes ScanNode to scan unnecessary columns.

My modification removes the addition of conjuncts in the scannode step,
so that we can keep the structure from ScanNode to Project and achieve
correct column trimming.
morningman pushed a commit that referenced this pull request Oct 22, 2024
… Scan (#42261)

pick (#41218)

In the previous FileScanNode, some parts that used conjuncts for
predicate conversion were placed in the init phase. However, for the
Nereids planner, pushing the filter down to the scan happens in the
Translator, which means that the ScanNode can only get the complete
conjuncts in the finalized phase. Therefore, in this PR, I have removed
all conjuncts variables in External for the Nereids planner. They no
longer need to store conjuncts themselves or add them to the ScanNode.
Instead, all places in the ScanNode that use conjuncts should be moved
to the finalized phase.

This refactor also fix a performance issue introduced from #40176 After
introducing the change of generating SelectNode for consecutive projects
or filters, FileScan still adds conjuncts too early in the init phase,
resulting in the discovery of consecutive filters when the upper layer
continues to translate, a selectnode was unexpectedly generated on the
scannode, causing the project to be unable to prune the scannode
columns. However, the Project node trims columns of SelectNode and
ScanNode differently, which causes ScanNode to scan unnecessary columns.

My modification removes the addition of conjuncts in the scannode step,
so that we can keep the structure from ScanNode to Project and achieve
correct column trimming.
zy-kkk added a commit to zy-kkk/doris that referenced this pull request Oct 31, 2024
…apache#41218)

In the previous FileScanNode, some parts that used conjuncts for
predicate conversion were placed in the init phase. However, for the
Nereids planner, pushing the filter down to the scan happens in the
Translator, which means that the ScanNode can only get the complete
conjuncts in the finalized phase. Therefore, in this PR, I have removed
all conjuncts variables in External for the Nereids planner. They no
longer need to store conjuncts themselves or add them to the ScanNode.
Instead, all places in the ScanNode that use conjuncts should be moved
to the finalized phase.

This refactor also fix a performance issue introduced from apache#40176
After introducing the change of generating SelectNode for consecutive
projects or filters, FileScan still adds conjuncts too early in the init
phase, resulting in the discovery of consecutive filters when the upper
layer continues to translate, a selectnode was unexpectedly generated on
the scannode, causing the project to be unable to prune the scannode
columns. However, the Project node trims columns of SelectNode and
ScanNode differently, which causes ScanNode to scan unnecessary columns.

My modification removes the addition of conjuncts in the scannode step,
so that we can keep the structure from ScanNode to Project and achieve
correct column trimming.
morningman pushed a commit that referenced this pull request Oct 31, 2024
… Scan (#43018)

bp (#41218)

In the previous FileScanNode, some parts that used conjuncts for
predicate conversion were placed in the init phase. However, for the
Nereids planner, pushing the filter down to the scan happens in the
Translator, which means that the ScanNode can only get the complete
conjuncts in the finalized phase. Therefore, in this PR, I have removed
all conjuncts variables in External for the Nereids planner. They no
longer need to store conjuncts themselves or add them to the ScanNode.
Instead, all places in the ScanNode that use conjuncts should be moved
to the finalized phase.

This refactor also fix a performance issue introduced from #40176 After
introducing the change of generating SelectNode for consecutive projects
or filters, FileScan still adds conjuncts too early in the init phase,
resulting in the discovery of consecutive filters when the upper layer
continues to translate, a selectnode was unexpectedly generated on the
scannode, causing the project to be unable to prune the scannode
columns. However, the Project node trims columns of SelectNode and
ScanNode differently, which causes ScanNode to scan unnecessary columns.

My modification removes the addition of conjuncts in the scannode step,
so that we can keep the structure from ScanNode to Project and achieve
correct column trimming.
yujun777 pushed a commit to yujun777/doris that referenced this pull request Aug 15, 2025
)

if we meet continuous project or filter in translator, we try to
generate SelectNode as far as possible to avoid generate invalid plan

for example

```
Filter(conjuncts 1)
+-- Limit (limit 10)
    +-- Filter(conjuncts 2)
        +-- Aggregate
```

will be translated to

```
SELECT_NODE (conjuncts 1)
+-- AGGREGATE_NODE (conjuncts 2) (limit 10)
```
github-actions bot pushed a commit that referenced this pull request Aug 15, 2025
if we meet continuous project or filter in translator, we try to
generate SelectNode as far as possible to avoid generate invalid plan

for example

```
Filter(conjuncts 1)
+-- Limit (limit 10)
    +-- Filter(conjuncts 2)
        +-- Aggregate
```

will be translated to

```
SELECT_NODE (conjuncts 1)
+-- AGGREGATE_NODE (conjuncts 2) (limit 10)
```
github-actions bot pushed a commit that referenced this pull request Aug 21, 2025
github-actions bot pushed a commit that referenced this pull request Aug 21, 2025
yujun777 added a commit to yujun777/doris that referenced this pull request Aug 21, 2025
yujun777 added a commit to yujun777/doris that referenced this pull request Aug 21, 2025
yiguolei pushed a commit that referenced this pull request Aug 22, 2025
…#40176 (#54870)

cherry pick from #40176, #54872

---------

Co-authored-by: morrySnow <101034200+morrySnow@users.noreply.github.com>
morrySnow pushed a commit that referenced this pull request Aug 22, 2025
dataroaring pushed a commit that referenced this pull request Aug 24, 2025
@gavinchou gavinchou mentioned this pull request Sep 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants