Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat](nereids)Support date_trunc function in partition prune #38025

Merged

Conversation

feiniaofeiafei
Copy link
Contributor

@feiniaofeiafei feiniaofeiafei commented Jul 17, 2024

The nereids range partition pruner does not support date_trunc(dt, 'day')>10. This pr supports to compute date_trunc(dt, 'day')>10. For example, there is a partition ('2020-01-01 10:00:00', '2020-02-05 10:00:00') ,partition column is dt, and a predicate date_trunc(dt, 'day')<'2019-01-01 ', this partition can be pruned.

@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.

@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17613	4318	4274	4274
q2	2007	188	181	181
q3	10461	1281	1126	1126
q4	10199	776	842	776
q5	7511	2698	2622	2622
q6	224	137	140	137
q7	1049	616	598	598
q8	9205	2065	2091	2065
q9	8917	6547	6555	6547
q10	8800	3751	3760	3751
q11	469	241	234	234
q12	441	228	231	228
q13	17796	2961	2941	2941
q14	277	237	225	225
q15	504	494	467	467
q16	507	392	371	371
q17	958	694	670	670
q18	8065	7515	7403	7403
q19	5386	1405	1360	1360
q20	723	318	323	318
q21	4908	3195	3283	3195
q22	348	285	284	284
Total cold run time: 116368 ms
Total hot run time: 39773 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4364	4280	4266	4266
q2	374	261	261	261
q3	2979	2793	2861	2793
q4	2003	1716	1710	1710
q5	5695	5507	5491	5491
q6	233	140	137	137
q7	2189	1804	1828	1804
q8	3251	3386	3446	3386
q9	8761	8745	8840	8745
q10	4107	3974	3761	3761
q11	577	498	504	498
q12	823	664	652	652
q13	16157	3125	3137	3125
q14	317	288	289	288
q15	531	480	512	480
q16	495	424	437	424
q17	1798	1530	1497	1497
q18	8054	8132	7783	7783
q19	1714	1527	1665	1527
q20	2218	1933	1846	1846
q21	11238	5027	4959	4959
q22	591	495	502	495
Total cold run time: 78469 ms
Total hot run time: 55928 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 174509 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 b76fcc14799cf2846b3af9a39edbba6171c77f72, data reload: false

query1	923	368	366	366
query2	6459	1861	1770	1770
query3	6650	213	217	213
query4	28529	17546	17540	17540
query5	3682	476	472	472
query6	262	168	174	168
query7	4567	297	285	285
query8	246	184	187	184
query9	8624	2384	2360	2360
query10	444	292	277	277
query11	11734	10008	10167	10008
query12	116	86	86	86
query13	1641	367	365	365
query14	10286	7732	7694	7694
query15	226	163	166	163
query16	7746	326	329	326
query17	1406	585	532	532
query18	1911	284	285	284
query19	199	155	151	151
query20	93	81	84	81
query21	216	134	126	126
query22	4926	4593	3921	3921
query23	34078	33858	34822	33858
query24	11304	2930	2999	2930
query25	530	389	383	383
query26	693	148	147	147
query27	2237	285	282	282
query28	5954	2030	2049	2030
query29	908	611	645	611
query30	247	157	158	157
query31	973	777	745	745
query32	107	59	57	57
query33	685	299	315	299
query34	908	507	513	507
query35	690	597	591	591
query36	1177	965	998	965
query37	149	81	80	80
query38	2953	2814	2844	2814
query39	912	808	804	804
query40	198	126	118	118
query41	47	45	42	42
query42	116	99	102	99
query43	515	465	463	463
query44	1150	721	732	721
query45	188	159	160	159
query46	1086	725	730	725
query47	1887	1797	1826	1797
query48	353	286	289	286
query49	865	402	411	402
query50	776	397	398	397
query51	6963	6757	6710	6710
query52	101	94	90	90
query53	362	287	285	285
query54	861	446	445	445
query55	76	73	73	73
query56	283	266	256	256
query57	1111	1028	1039	1028
query58	232	259	259	259
query59	2787	2548	2609	2548
query60	302	310	280	280
query61	95	91	96	91
query62	811	662	652	652
query63	320	288	299	288
query64	9155	2219	1711	1711
query65	3142	3099	3114	3099
query66	733	319	321	319
query67	15334	15024	14986	14986
query68	4571	542	564	542
query69	591	387	329	329
query70	1161	1093	1143	1093
query71	436	288	281	281
query72	7505	5524	5850	5524
query73	743	330	326	326
query74	6293	5686	5716	5686
query75	3575	2651	2672	2651
query76	3078	947	950	947
query77	674	318	321	318
query78	9790	10834	9706	9706
query79	2721	522	524	522
query80	1135	501	499	499
query81	585	223	220	220
query82	403	136	137	136
query83	341	172	164	164
query84	279	87	83	83
query85	758	313	297	297
query86	486	330	324	324
query87	3318	3079	3073	3073
query88	3938	2372	2375	2372
query89	496	377	396	377
query90	1855	191	193	191
query91	130	101	99	99
query92	59	48	51	48
query93	2232	506	500	500
query94	1129	211	212	211
query95	411	313	328	313
query96	604	270	276	270
query97	3211	3008	3024	3008
query98	212	192	192	192
query99	1548	1246	1274	1246
Total cold run time: 279508 ms
Total hot run time: 174509 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.08	0.04	0.04
query3	0.23	0.06	0.06
query4	1.65	0.10	0.09
query5	0.51	0.48	0.49
query6	1.13	0.72	0.72
query7	0.02	0.01	0.01
query8	0.06	0.04	0.04
query9	0.55	0.47	0.50
query10	0.55	0.56	0.54
query11	0.15	0.12	0.11
query12	0.15	0.12	0.13
query13	0.59	0.58	0.59
query14	0.75	0.76	0.77
query15	0.86	0.81	0.81
query16	0.37	0.36	0.37
query17	1.01	1.02	0.98
query18	0.23	0.21	0.23
query19	1.85	1.70	1.68
query20	0.01	0.01	0.01
query21	15.43	0.74	0.66
query22	4.18	7.47	1.96
query23	18.33	1.39	1.24
query24	2.17	0.23	0.22
query25	0.16	0.09	0.09
query26	0.29	0.21	0.22
query27	0.46	0.23	0.23
query28	13.24	1.01	0.99
query29	12.66	3.31	3.30
query30	0.24	0.06	0.06
query31	2.88	0.39	0.39
query32	3.27	0.47	0.46
query33	2.88	2.96	2.95
query34	17.19	4.39	4.38
query35	4.43	4.45	4.42
query36	0.65	0.45	0.46
query37	0.17	0.15	0.15
query38	0.15	0.15	0.15
query39	0.05	0.04	0.04
query40	0.15	0.13	0.12
query41	0.10	0.05	0.04
query42	0.05	0.05	0.06
query43	0.04	0.04	0.03
Total cold run time: 109.96 s
Total hot run time: 30.69 s

@feiniaofeiafei feiniaofeiafei force-pushed the date_trunc_in_partition_prune branch from cd0a714 to 8644094 Compare July 24, 2024 11:49
@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	18072	4395	4395	4395
q2	2498	198	207	198
q3	11017	1190	1052	1052
q4	10628	847	773	773
q5	7910	2755	2720	2720
q6	232	140	139	139
q7	995	619	609	609
q8	9396	2077	2069	2069
q9	8738	6559	6583	6559
q10	8616	3762	3799	3762
q11	457	234	236	234
q12	387	229	219	219
q13	17840	3019	2991	2991
q14	270	231	237	231
q15	531	479	486	479
q16	492	415	367	367
q17	965	632	684	632
q18	8133	7518	7429	7429
q19	7818	1365	1377	1365
q20	695	311	320	311
q21	4824	3193	3922	3193
q22	349	286	296	286
Total cold run time: 120863 ms
Total hot run time: 40013 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4442	4328	4283	4283
q2	363	268	265	265
q3	3181	2798	2721	2721
q4	1891	1626	1561	1561
q5	5309	5320	5306	5306
q6	230	129	130	129
q7	2151	1751	1755	1751
q8	3212	3358	3297	3297
q9	8393	8364	8375	8364
q10	3937	3726	3702	3702
q11	571	497	489	489
q12	807	624	587	587
q13	16733	2981	3007	2981
q14	308	276	275	275
q15	518	481	471	471
q16	496	410	421	410
q17	1800	1519	1500	1500
q18	7662	7563	7501	7501
q19	2953	1642	1554	1554
q20	1999	1805	1775	1775
q21	4966	4805	4551	4551
q22	603	512	489	489
Total cold run time: 72525 ms
Total hot run time: 53962 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 172812 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 8644094a18fc18315674ae3461d3ad658e783c26, data reload: false

query1	921	379	362	362
query2	6462	2056	1916	1916
query3	6646	208	215	208
query4	28424	17283	17046	17046
query5	4168	475	484	475
query6	269	176	167	167
query7	4590	300	287	287
query8	249	192	190	190
query9	8467	2393	2365	2365
query10	428	286	297	286
query11	10501	10089	10140	10089
query12	143	84	81	81
query13	1642	377	379	377
query14	10400	7451	7622	7451
query15	228	172	168	168
query16	7739	488	462	462
query17	1333	553	526	526
query18	1817	282	274	274
query19	196	145	152	145
query20	91	86	86	86
query21	207	147	121	121
query22	4343	4181	4102	4102
query23	33790	33429	33345	33345
query24	12106	2860	2780	2780
query25	647	367	374	367
query26	1721	148	150	148
query27	2930	298	267	267
query28	7770	2013	1992	1992
query29	1061	622	606	606
query30	287	148	147	147
query31	951	738	735	735
query32	93	53	52	52
query33	763	331	322	322
query34	901	469	495	469
query35	849	704	737	704
query36	1128	909	932	909
query37	193	84	76	76
query38	2840	2781	2754	2754
query39	835	813	841	813
query40	269	122	118	118
query41	48	48	45	45
query42	121	96	103	96
query43	516	471	478	471
query44	1209	716	730	716
query45	203	177	176	176
query46	1102	726	726	726
query47	1899	1770	1792	1770
query48	365	290	292	290
query49	1201	437	400	400
query50	790	392	382	382
query51	6769	6684	6616	6616
query52	106	88	92	88
query53	362	283	286	283
query54	983	447	441	441
query55	77	75	72	72
query56	287	268	272	268
query57	1146	1023	1083	1023
query58	270	254	273	254
query59	2904	2722	2740	2722
query60	302	269	277	269
query61	101	135	96	96
query62	820	649	655	649
query63	330	290	283	283
query64	10443	2216	1650	1650
query65	3263	3102	3095	3095
query66	1360	348	332	332
query67	15626	15092	14875	14875
query68	4590	540	544	540
query69	550	399	358	358
query70	1167	1162	1103	1103
query71	406	276	285	276
query72	7318	5648	5425	5425
query73	756	324	325	324
query74	6013	5814	5703	5703
query75	3373	2679	2683	2679
query76	2721	1022	998	998
query77	568	300	309	300
query78	9712	9199	9061	9061
query79	2207	521	518	518
query80	2140	469	477	469
query81	592	221	225	221
query82	790	138	136	136
query83	286	172	167	167
query84	259	91	88	88
query85	2099	325	305	305
query86	480	316	312	312
query87	3276	3141	3071	3071
query88	3892	2358	2379	2358
query89	498	375	382	375
query90	1838	191	190	190
query91	134	102	104	102
query92	67	50	49	49
query93	2451	520	504	504
query94	1237	295	283	283
query95	400	381	309	309
query96	603	271	275	271
query97	3256	3006	3028	3006
query98	220	203	192	192
query99	1545	1245	1243	1243
Total cold run time: 286445 ms
Total hot run time: 172812 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.04
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.68	0.06	0.07
query5	0.50	0.49	0.47
query6	1.13	0.72	0.74
query7	0.02	0.01	0.02
query8	0.05	0.04	0.04
query9	0.54	0.49	0.50
query10	0.53	0.53	0.54
query11	0.16	0.12	0.11
query12	0.14	0.13	0.13
query13	0.60	0.58	0.58
query14	0.76	0.78	0.77
query15	0.86	0.82	0.82
query16	0.37	0.36	0.36
query17	0.97	1.02	0.94
query18	0.22	0.22	0.21
query19	1.83	1.82	1.68
query20	0.01	0.01	0.02
query21	15.42	0.78	0.66
query22	4.42	7.08	1.77
query23	18.28	1.39	1.29
query24	2.10	0.23	0.21
query25	0.16	0.09	0.09
query26	0.30	0.21	0.21
query27	0.46	0.23	0.24
query28	13.31	1.02	1.00
query29	12.64	3.32	3.32
query30	0.25	0.06	0.06
query31	2.87	0.39	0.39
query32	3.27	0.46	0.47
query33	2.90	2.90	2.91
query34	17.09	4.33	4.39
query35	4.41	4.41	4.42
query36	0.65	0.48	0.46
query37	0.20	0.15	0.15
query38	0.15	0.15	0.15
query39	0.04	0.03	0.04
query40	0.16	0.13	0.13
query41	0.10	0.05	0.04
query42	0.06	0.04	0.05
query43	0.04	0.04	0.04
Total cold run time: 109.99 s
Total hot run time: 30.43 s

@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	18266	4480	4401	4401
q2	2766	205	202	202
q3	12316	1205	1161	1161
q4	11046	737	794	737
q5	7654	2752	2639	2639
q6	221	139	140	139
q7	967	593	604	593
q8	9235	1894	1930	1894
q9	8757	6575	6594	6575
q10	8763	3812	3762	3762
q11	456	262	255	255
q12	393	229	225	225
q13	18824	3045	2981	2981
q14	283	241	241	241
q15	532	484	496	484
q16	510	392	394	392
q17	970	642	729	642
q18	8073	7452	7415	7415
q19	3236	1069	1048	1048
q20	641	327	353	327
q21	5022	3182	3324	3182
q22	350	295	285	285
Total cold run time: 119281 ms
Total hot run time: 39580 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4375	4231	4227	4227
q2	368	280	273	273
q3	3044	2828	2761	2761
q4	1864	1590	1565	1565
q5	5319	5312	5308	5308
q6	216	129	130	129
q7	2114	1738	1702	1702
q8	3188	3354	3300	3300
q9	8386	8423	8397	8397
q10	3896	3691	3640	3640
q11	574	492	484	484
q12	810	623	613	613
q13	17453	3021	3033	3021
q14	307	280	263	263
q15	524	481	485	481
q16	487	417	416	416
q17	1769	1489	1480	1480
q18	7657	7462	7400	7400
q19	1646	1532	1442	1442
q20	1988	1773	1799	1773
q21	4957	4711	4711	4711
q22	583	475	512	475
Total cold run time: 71525 ms
Total hot run time: 53861 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173096 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 4da8c9196e67c1b7b9ac961bb87b19709ca0d0ca, data reload: false

query1	912	370	379	370
query2	6443	1962	1885	1885
query3	6668	213	216	213
query4	28384	17451	17342	17342
query5	4179	495	482	482
query6	261	171	165	165
query7	4584	293	288	288
query8	249	197	197	197
query9	8669	2480	2450	2450
query10	457	275	271	271
query11	10926	10102	10159	10102
query12	153	90	84	84
query13	1625	375	377	375
query14	9874	7532	7542	7532
query15	220	171	168	168
query16	7715	506	480	480
query17	1374	563	561	561
query18	1962	302	298	298
query19	199	151	149	149
query20	95	90	88	88
query21	219	102	102	102
query22	4183	4085	3857	3857
query23	34129	33204	33263	33204
query24	12374	2918	2878	2878
query25	697	397	400	397
query26	1796	158	157	157
query27	3016	281	277	277
query28	7414	2005	1989	1989
query29	1160	443	431	431
query30	289	150	152	150
query31	989	751	749	749
query32	96	61	63	61
query33	813	351	352	351
query34	877	484	488	484
query35	881	755	726	726
query36	1104	915	925	915
query37	289	83	85	83
query38	2836	2772	2787	2772
query39	881	821	818	818
query40	277	124	118	118
query41	51	47	47	47
query42	126	99	107	99
query43	534	480	478	478
query44	1202	718	719	718
query45	211	180	181	180
query46	1087	743	741	741
query47	1825	1748	1761	1748
query48	364	292	297	292
query49	1212	517	429	429
query50	804	414	414	414
query51	6822	6688	6679	6679
query52	108	96	89	89
query53	256	192	176	176
query54	1032	451	447	447
query55	78	74	73	73
query56	287	263	279	263
query57	1181	1066	1055	1055
query58	277	293	283	283
query59	2999	2889	2664	2664
query60	315	291	292	291
query61	97	96	93	93
query62	838	669	661	661
query63	227	190	178	178
query64	10557	2237	1749	1749
query65	3218	3116	3130	3116
query66	1419	345	341	341
query67	15439	15031	14861	14861
query68	5155	540	534	534
query69	716	408	318	318
query70	1207	1114	1158	1114
query71	491	274	268	268
query72	8481	5551	5490	5490
query73	788	336	329	329
query74	6103	5691	5683	5683
query75	4558	2646	2668	2646
query76	4054	987	920	920
query77	686	334	320	320
query78	9682	9533	8962	8962
query79	8871	512	524	512
query80	1158	485	487	485
query81	585	228	223	223
query82	1050	142	138	138
query83	391	178	179	178
query84	271	79	84	79
query85	2043	324	364	324
query86	488	300	327	300
query87	3289	3035	3117	3035
query88	5677	2554	2536	2536
query89	585	295	279	279
query90	2150	210	203	203
query91	135	103	103	103
query92	65	50	50	50
query93	6751	530	521	521
query94	1096	293	272	272
query95	357	264	266	264
query96	617	283	278	278
query97	3194	3050	3055	3050
query98	229	203	200	200
query99	1544	1298	1315	1298
Total cold run time: 304302 ms
Total hot run time: 173096 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.03
query2	0.07	0.04	0.04
query3	0.22	0.05	0.05
query4	1.75	0.07	0.07
query5	0.50	0.48	0.49
query6	1.20	0.73	0.73
query7	0.02	0.02	0.01
query8	0.04	0.04	0.04
query9	0.55	0.49	0.50
query10	0.53	0.54	0.55
query11	0.15	0.11	0.12
query12	0.16	0.13	0.12
query13	0.60	0.60	0.60
query14	0.77	0.78	0.77
query15	0.86	0.83	0.82
query16	0.37	0.35	0.35
query17	0.99	1.05	1.05
query18	0.24	0.22	0.22
query19	1.78	1.75	1.71
query20	0.01	0.01	0.01
query21	15.40	0.79	0.66
query22	3.90	6.33	3.11
query23	18.30	1.39	1.37
query24	2.11	0.23	0.22
query25	0.15	0.09	0.09
query26	0.29	0.21	0.21
query27	0.46	0.22	0.23
query28	13.33	1.04	1.01
query29	12.62	3.33	3.29
query30	0.26	0.08	0.06
query31	2.83	0.39	0.39
query32	3.28	0.48	0.47
query33	2.88	2.93	2.90
query34	16.92	4.32	4.38
query35	4.38	4.37	4.40
query36	0.66	0.46	0.47
query37	0.18	0.15	0.16
query38	0.16	0.15	0.15
query39	0.05	0.03	0.04
query40	0.15	0.12	0.12
query41	0.10	0.05	0.05
query42	0.06	0.05	0.05
query43	0.05	0.04	0.03
Total cold run time: 109.37 s
Total hot run time: 31.97 s

@feiniaofeiafei feiniaofeiafei force-pushed the date_trunc_in_partition_prune branch from b5ff552 to 8a377af Compare July 26, 2024 14:11
@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17627	4304	4261	4261
q2	2019	197	203	197
q3	10419	1150	1125	1125
q4	10139	772	700	700
q5	7537	2718	2623	2623
q6	218	135	133	133
q7	949	601	592	592
q8	9221	1909	1885	1885
q9	8703	6580	6521	6521
q10	8847	3723	3800	3723
q11	455	242	253	242
q12	465	219	218	218
q13	17762	2983	3003	2983
q14	273	230	237	230
q15	513	481	484	481
q16	504	390	381	381
q17	956	705	691	691
q18	7981	7412	7340	7340
q19	4929	1006	986	986
q20	646	336	320	320
q21	4940	3201	3845	3201
q22	352	295	288	288
Total cold run time: 115455 ms
Total hot run time: 39121 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4561	4207	4260	4207
q2	378	274	257	257
q3	3011	2713	2828	2713
q4	1917	1667	1726	1667
q5	5562	5616	5500	5500
q6	222	147	134	134
q7	2156	1854	1825	1825
q8	3278	3397	3374	3374
q9	8739	8743	8775	8743
q10	4144	3830	3952	3830
q11	573	499	499	499
q12	790	596	629	596
q13	16111	3229	3249	3229
q14	309	280	296	280
q15	523	493	497	493
q16	496	428	426	426
q17	1843	1519	1530	1519
q18	8030	7818	7819	7818
q19	1737	1644	1745	1644
q20	2144	1849	1898	1849
q21	9716	4887	4970	4887
q22	608	492	524	492
Total cold run time: 76848 ms
Total hot run time: 55982 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 172563 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 8a377af208f1007d5ab7ef7bbfb0fb867940da92, data reload: false

query1	916	370	366	366
query2	6432	1945	1860	1860
query3	6646	206	219	206
query4	28726	17393	17398	17393
query5	3625	505	490	490
query6	266	168	163	163
query7	4580	286	286	286
query8	241	195	187	187
query9	8378	2473	2470	2470
query10	434	283	277	277
query11	10781	10071	9967	9967
query12	127	93	87	87
query13	1622	369	365	365
query14	10404	7683	6224	6224
query15	221	171	176	171
query16	7611	496	475	475
query17	1611	596	556	556
query18	1867	292	315	292
query19	198	150	152	150
query20	100	96	89	89
query21	208	108	105	105
query22	4438	3875	3903	3875
query23	34280	33900	33581	33581
query24	10705	2938	2945	2938
query25	598	383	382	382
query26	708	158	159	158
query27	2327	279	294	279
query28	6181	2052	2070	2052
query29	812	436	445	436
query30	247	151	161	151
query31	1009	795	750	750
query32	92	53	55	53
query33	665	345	341	341
query34	893	496	526	496
query35	873	786	761	761
query36	1155	958	956	956
query37	140	80	82	80
query38	2934	2855	2801	2801
query39	885	870	826	826
query40	196	115	115	115
query41	45	44	44	44
query42	114	100	99	99
query43	492	463	474	463
query44	1054	728	712	712
query45	206	180	175	175
query46	1091	726	735	726
query47	1816	1769	1762	1762
query48	355	299	285	285
query49	842	414	417	414
query50	798	412	398	398
query51	6835	6755	6705	6705
query52	93	88	87	87
query53	257	180	178	178
query54	958	445	441	441
query55	76	72	75	72
query56	311	273	281	273
query57	1108	1078	1036	1036
query58	264	264	281	264
query59	2885	2652	2688	2652
query60	316	302	294	294
query61	95	93	122	93
query62	793	655	655	655
query63	212	188	179	179
query64	9443	2226	1747	1747
query65	3134	3139	3110	3110
query66	750	354	337	337
query67	15267	14923	14866	14866
query68	6264	535	532	532
query69	632	420	330	330
query70	1181	1131	1148	1131
query71	455	272	272	272
query72	7209	5596	5632	5596
query73	826	324	326	324
query74	6289	5671	5612	5612
query75	3753	2659	2689	2659
query76	3996	959	920	920
query77	667	312	322	312
query78	11828	9449	9556	9449
query79	8034	514	517	514
query80	947	506	497	497
query81	563	216	231	216
query82	532	141	134	134
query83	205	172	176	172
query84	270	84	80	80
query85	695	315	298	298
query86	461	311	291	291
query87	3325	3090	3043	3043
query88	5005	2461	2451	2451
query89	478	284	283	283
query90	1849	216	201	201
query91	128	100	101	100
query92	65	49	49	49
query93	5287	529	529	529
query94	792	291	295	291
query95	365	266	274	266
query96	620	283	278	278
query97	3191	3026	3019	3019
query98	216	199	191	191
query99	1564	1246	1262	1246
Total cold run time: 291434 ms
Total hot run time: 172563 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.04
query2	0.07	0.04	0.03
query3	0.23	0.05	0.05
query4	1.67	0.08	0.08
query5	0.51	0.50	0.50
query6	1.13	0.71	0.71
query7	0.02	0.01	0.01
query8	0.06	0.04	0.04
query9	0.56	0.49	0.47
query10	0.56	0.54	0.55
query11	0.16	0.11	0.11
query12	0.15	0.13	0.12
query13	0.59	0.58	0.58
query14	0.78	0.76	0.83
query15	0.84	0.83	0.81
query16	0.35	0.35	0.37
query17	1.00	0.96	0.99
query18	0.22	0.21	0.22
query19	1.75	1.66	1.75
query20	0.02	0.01	0.01
query21	15.42	0.76	0.65
query22	3.88	7.56	2.07
query23	18.22	1.38	1.28
query24	2.11	0.23	0.22
query25	0.15	0.09	0.09
query26	0.29	0.21	0.21
query27	0.46	0.23	0.23
query28	13.25	1.02	1.00
query29	12.60	3.28	3.29
query30	0.25	0.06	0.05
query31	2.87	0.38	0.38
query32	3.28	0.47	0.47
query33	2.91	2.87	2.92
query34	17.03	4.34	4.35
query35	4.44	4.45	4.42
query36	0.66	0.49	0.48
query37	0.19	0.16	0.16
query38	0.16	0.15	0.14
query39	0.05	0.04	0.03
query40	0.15	0.13	0.12
query41	0.10	0.05	0.05
query42	0.06	0.05	0.05
query43	0.05	0.04	0.04
Total cold run time: 109.29 s
Total hot run time: 30.67 s


@Override
public Monotonicity getMonotonicity() {
return new Monotonicity(true, true);
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe, u should use some static variables generated in Monotonicity class. refer to org.apache.doris.nereids.properties.PhysicalProperties

Comment on lines 62 to 72
public Expression withConstantArgs(Literal literal) {
return this;
}

public int getMonotonicFunctionChildIndex() {
return -1;
}

public Monotonicity getMonotonicity() {
return new Monotonicity(false, true);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

add comment to these interfaces

@@ -46,4 +58,16 @@ public boolean isHighOrder() {
public final String getName() {
return name;
}

public Expression withConstantArgs(Literal literal) {
return this;
Copy link
Contributor

Choose a reason for hiding this comment

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

return this is not a good idea. i think we should throw exceptions if on function not support Monotonicity

Comment on lines 32 to 39
public class Monotonicity {
public boolean isMonotonic;
public boolean isPositive;

public Monotonicity(boolean isMonotonic, boolean isPositive) {
this.isMonotonic = isMonotonic;
this.isPositive = isPositive;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

move out from function, it should be expression trait?

Comment on lines +634 to +645
public EvaluateRangeResult visitDateTrunc(DateTrunc dateTrunc, EvaluateRangeInput context) {
EvaluateRangeResult result = super.visitDateTrunc(dateTrunc, context);
if (!(result.result instanceof DateTrunc)) {
return result;
}
Expression dateTruncChild = dateTrunc.child(0);
if (partitionSlotContainsNull.containsKey(dateTruncChild)) {
partitionSlotContainsNull.put(dateTrunc, true);
}
return computeMonotonicFunctionRange(result);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

if we add a new trait class Monotonic for expression, could we here use visit Monotoic to do same things for all monotonic functions? then we only need add trait on different function

Copy link
Contributor

Choose a reason for hiding this comment

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

we should use trait interface

public interface Monotonic extends ExpressionTrait {
  boolean isPositive(); 
}

public class DateTrunc implement Monotonic {
    @Override
    public isPositive() {
        return true;
    }
}

@@ -69,6 +69,10 @@ public boolean isEmptyRange() {
return rangeSet.isEmpty();
}

public boolean isCompletelyInfinite() {
return !span().hasLowerBound() && !span().hasUpperBound();
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is not completeInfinite

new ColumnRange(
    ColumnBound.lessThen(Literal.of(0)))
        .union(ColumnRange.greaterThan(Literal.of(10))
);

Comment on lines 204 to 205
assert slotResult != null;
assert slotResult.columnRanges.containsKey(slot);
Copy link
Contributor

Choose a reason for hiding this comment

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

assert only throw exception in test environment

Comment on lines +634 to +645
public EvaluateRangeResult visitDateTrunc(DateTrunc dateTrunc, EvaluateRangeInput context) {
EvaluateRangeResult result = super.visitDateTrunc(dateTrunc, context);
if (!(result.result instanceof DateTrunc)) {
return result;
}
Expression dateTruncChild = dateTrunc.child(0);
if (partitionSlotContainsNull.containsKey(dateTruncChild)) {
partitionSlotContainsNull.put(dateTrunc, true);
}
return computeMonotonicFunctionRange(result);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

we should use trait interface

public interface Monotonic extends ExpressionTrait {
  boolean isPositive(); 
}

public class DateTrunc implement Monotonic {
    @Override
    public isPositive() {
        return true;
    }
}

@feiniaofeiafei feiniaofeiafei force-pushed the date_trunc_in_partition_prune branch from 8a377af to 0dae430 Compare July 30, 2024 07:30
@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17628	4088	4023	4023
q2	2016	212	203	203
q3	10455	1242	1368	1242
q4	10169	866	950	866
q5	7600	2953	2967	2953
q6	225	140	140	140
q7	1032	614	612	612
q8	9446	1894	1933	1894
q9	8433	6548	6582	6548
q10	8747	3810	3818	3810
q11	435	250	245	245
q12	430	235	232	232
q13	17767	2977	2972	2972
q14	267	245	245	245
q15	519	480	477	477
q16	512	393	396	393
q17	953	904	914	904
q18	7946	7252	7207	7207
q19	1576	1211	1194	1194
q20	548	324	340	324
q21	5347	4818	4745	4745
q22	350	290	280	280
Total cold run time: 112401 ms
Total hot run time: 41509 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4046	3989	4026	3989
q2	319	222	226	222
q3	2976	2952	3118	2952
q4	2017	1988	1983	1983
q5	5564	5493	5449	5449
q6	219	138	135	135
q7	2105	1796	1823	1796
q8	3329	3402	3353	3353
q9	8703	8638	8687	8638
q10	4030	4042	4036	4036
q11	538	453	451	451
q12	747	592	573	573
q13	16532	3205	3117	3117
q14	301	290	279	279
q15	542	489	492	489
q16	487	420	397	397
q17	1751	1722	1736	1722
q18	8117	7691	7656	7656
q19	1715	1703	1685	1685
q20	2069	1885	1839	1839
q21	5721	5500	5389	5389
q22	539	449	469	449
Total cold run time: 72367 ms
Total hot run time: 56599 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 170487 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 0dae4302649e22fdff5a4fd4c1cd49fd56f55c48, data reload: false

query1	918	387	372	372
query2	6457	1814	1696	1696
query3	6667	218	233	218
query4	19831	17518	17409	17409
query5	3668	525	562	525
query6	297	188	171	171
query7	4609	308	292	292
query8	260	193	194	193
query9	8494	2391	2370	2370
query10	427	270	282	270
query11	10477	10002	10000	10000
query12	121	90	91	90
query13	1608	375	360	360
query14	9088	7826	7100	7100
query15	202	160	162	160
query16	6791	442	450	442
query17	993	587	571	571
query18	1912	301	291	291
query19	197	179	149	149
query20	94	89	94	89
query21	206	101	102	101
query22	4188	3967	3905	3905
query23	33855	33545	33567	33545
query24	10235	3115	3061	3061
query25	695	400	415	400
query26	1709	157	158	157
query27	2955	288	288	288
query28	7530	2003	2008	2003
query29	1406	477	432	432
query30	242	158	160	158
query31	943	766	758	758
query32	97	58	60	58
query33	666	321	323	321
query34	907	510	525	510
query35	871	764	760	760
query36	1051	932	902	902
query37	298	83	85	83
query38	2996	2864	2823	2823
query39	928	857	858	857
query40	259	118	118	118
query41	47	45	45	45
query42	123	97	102	97
query43	514	440	455	440
query44	1199	745	735	735
query45	209	178	179	178
query46	1082	802	788	788
query47	1763	1704	1705	1704
query48	364	286	293	286
query49	949	435	427	427
query50	921	432	440	432
query51	6721	6735	6652	6652
query52	106	90	96	90
query53	259	183	189	183
query54	620	467	462	462
query55	79	73	74	73
query56	283	261	260	260
query57	1125	1025	1043	1025
query58	283	272	326	272
query59	2652	2440	2428	2428
query60	300	290	302	290
query61	112	115	152	115
query62	886	679	662	662
query63	216	179	188	179
query64	5658	1940	1895	1895
query65	3191	3122	3128	3122
query66	1316	362	344	344
query67	15200	14827	14813	14813
query68	4244	557	568	557
query69	515	310	310	310
query70	1101	1110	1140	1110
query71	415	295	285	285
query72	7098	2738	2571	2571
query73	774	326	330	326
query74	6035	5681	5605	5605
query75	3365	2760	2752	2752
query76	2379	1342	1431	1342
query77	432	316	310	310
query78	9337	8928	8878	8878
query79	1137	524	533	524
query80	916	526	528	526
query81	559	225	231	225
query82	445	135	141	135
query83	258	179	181	179
query84	252	80	78	78
query85	1177	328	319	319
query86	446	325	304	304
query87	3287	3148	3063	3063
query88	2953	2429	2430	2429
query89	381	294	300	294
query90	1696	207	203	203
query91	144	119	117	117
query92	64	57	53	53
query93	1724	619	616	616
query94	913	294	301	294
query95	381	276	284	276
query96	608	282	280	280
query97	3238	3060	3024	3024
query98	233	208	205	205
query99	1633	1312	1292	1292
Total cold run time: 259466 ms
Total hot run time: 170487 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.08	0.03	0.03
query3	0.22	0.05	0.05
query4	1.69	0.06	0.06
query5	0.50	0.48	0.48
query6	1.13	0.71	0.74
query7	0.02	0.01	0.02
query8	0.04	0.04	0.04
query9	0.56	0.51	0.51
query10	0.56	0.57	0.57
query11	0.15	0.12	0.12
query12	0.15	0.13	0.13
query13	0.61	0.59	0.60
query14	0.81	0.79	0.79
query15	0.89	0.85	0.88
query16	0.35	0.36	0.35
query17	1.04	1.01	1.02
query18	0.23	0.21	0.22
query19	1.85	1.74	1.80
query20	0.01	0.01	0.01
query21	15.39	0.76	0.64
query22	4.15	6.48	1.78
query23	17.98	1.33	1.26
query24	2.25	0.23	0.22
query25	0.18	0.08	0.08
query26	0.32	0.22	0.21
query27	0.46	0.23	0.23
query28	13.16	1.00	0.96
query29	12.61	3.36	3.33
query30	0.25	0.06	0.05
query31	2.87	0.42	0.41
query32	3.21	0.49	0.48
query33	2.92	2.94	2.95
query34	15.42	4.28	4.27
query35	4.32	4.28	4.28
query36	0.68	0.49	0.49
query37	0.20	0.16	0.17
query38	0.17	0.15	0.15
query39	0.04	0.04	0.04
query40	0.15	0.12	0.12
query41	0.10	0.05	0.05
query42	0.06	0.05	0.04
query43	0.05	0.04	0.04
Total cold run time: 107.87 s
Total hot run time: 30.52 s

@feiniaofeiafei
Copy link
Contributor Author

run cloud_p0

1 similar comment
@feiniaofeiafei
Copy link
Contributor Author

run cloud_p0

@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	18890	4229	4229	4229
q2	2978	212	206	206
q3	11613	1340	1374	1340
q4	10337	828	990	828
q5	8093	3069	2959	2959
q6	224	142	141	141
q7	1051	625	624	624
q8	9450	1783	1958	1783
q9	8499	6599	6618	6599
q10	8727	3863	3846	3846
q11	422	253	257	253
q12	412	234	234	234
q13	17770	2983	2966	2966
q14	271	240	252	240
q15	533	498	507	498
q16	497	416	416	416
q17	962	922	929	922
q18	8026	7307	7313	7307
q19	1438	1208	1209	1208
q20	570	332	326	326
q21	5468	4790	4736	4736
q22	357	300	285	285
Total cold run time: 116588 ms
Total hot run time: 41946 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4054	4084	4018	4018
q2	340	230	226	226
q3	2983	3000	3015	3000
q4	1914	1919	1884	1884
q5	5285	5242	5239	5239
q6	215	134	134	134
q7	2056	1725	1731	1725
q8	3210	3312	3286	3286
q9	8346	8334	8308	8308
q10	3801	3859	3854	3854
q11	550	459	450	450
q12	724	574	557	557
q13	13462	2959	2971	2959
q14	285	264	260	260
q15	530	491	484	484
q16	445	408	413	408
q17	1715	1672	1671	1671
q18	7740	7319	7239	7239
q19	1801	1657	1675	1657
q20	1986	1772	1736	1736
q21	5407	5367	5253	5253
q22	547	494	492	492
Total cold run time: 67396 ms
Total hot run time: 54840 ms

@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17864	4032	4038	4032
q2	2016	207	195	195
q3	10473	1289	1398	1289
q4	10171	804	922	804
q5	7632	2935	2954	2935
q6	219	140	139	139
q7	1017	616	607	607
q8	9426	1921	1957	1921
q9	8817	6619	6638	6619
q10	8752	3827	3809	3809
q11	426	252	267	252
q12	439	240	233	233
q13	17765	2969	2913	2913
q14	273	245	242	242
q15	525	500	496	496
q16	526	388	387	387
q17	953	924	906	906
q18	8151	7288	7200	7200
q19	1384	1222	1207	1207
q20	560	329	343	329
q21	5349	4770	4799	4770
q22	363	280	288	280
Total cold run time: 113101 ms
Total hot run time: 41565 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4064	4006	3991	3991
q2	331	225	219	219
q3	2996	2958	3145	2958
q4	1972	2027	1983	1983
q5	5589	5497	5441	5441
q6	215	134	132	132
q7	2135	1808	1835	1808
q8	3302	3390	3355	3355
q9	8681	8675	8773	8675
q10	3970	3995	3923	3923
q11	563	452	453	452
q12	788	603	632	603
q13	14721	3157	3126	3126
q14	310	276	286	276
q15	520	500	493	493
q16	466	429	413	413
q17	1739	1723	1732	1723
q18	8075	7808	7767	7767
q19	2067	1699	1706	1699
q20	2094	1919	1846	1846
q21	5673	5456	5365	5365
q22	543	467	471	467
Total cold run time: 70814 ms
Total hot run time: 56715 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 169883 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 8050fb4895b332ff626d2ec0ce849e8c272feee0, data reload: false

query1	923	380	372	372
query2	6474	1707	1645	1645
query3	6659	212	221	212
query4	19643	17481	17288	17288
query5	3665	509	508	508
query6	292	174	181	174
query7	4607	292	308	292
query8	258	199	199	199
query9	8518	2402	2358	2358
query10	437	278	289	278
query11	10424	10019	9991	9991
query12	127	91	85	85
query13	1621	371	367	367
query14	9379	7606	7361	7361
query15	193	166	164	164
query16	6760	472	430	430
query17	953	554	535	535
query18	1875	282	278	278
query19	188	144	144	144
query20	89	86	86	86
query21	204	102	101	101
query22	4167	3964	3922	3922
query23	33710	33655	33698	33655
query24	9335	3200	3065	3065
query25	634	412	425	412
query26	1218	155	150	150
query27	2374	282	288	282
query28	7113	2053	2049	2049
query29	979	453	444	444
query30	233	155	153	153
query31	933	807	782	782
query32	99	56	54	54
query33	665	310	308	308
query34	922	493	515	493
query35	868	742	765	742
query36	1047	901	869	869
query37	178	82	82	82
query38	2971	2895	2858	2858
query39	866	814	841	814
query40	289	117	113	113
query41	50	45	46	45
query42	127	98	102	98
query43	448	426	411	411
query44	1208	734	735	734
query45	213	185	190	185
query46	1119	803	776	776
query47	1805	1691	1720	1691
query48	369	297	299	297
query49	944	418	415	415
query50	911	432	429	429
query51	6758	6676	6686	6676
query52	104	87	95	87
query53	255	181	184	181
query54	607	465	451	451
query55	75	77	76	76
query56	284	246	247	246
query57	1120	1060	1049	1049
query58	273	291	276	276
query59	2785	2521	2326	2326
query60	294	284	273	273
query61	100	92	91	91
query62	877	659	671	659
query63	214	179	183	179
query64	5892	1899	1854	1854
query65	3140	3109	3094	3094
query66	1030	342	334	334
query67	15245	14812	14849	14812
query68	4292	551	565	551
query69	439	293	306	293
query70	1074	1090	1057	1057
query71	366	277	273	273
query72	7180	2742	2468	2468
query73	770	328	324	324
query74	5996	5651	5625	5625
query75	3340	2738	2710	2710
query76	2183	1374	1413	1374
query77	457	300	305	300
query78	9437	8878	8772	8772
query79	1966	547	536	536
query80	1075	563	492	492
query81	545	227	225	225
query82	1034	127	125	125
query83	234	167	168	167
query84	256	78	82	78
query85	1206	319	300	300
query86	451	278	293	278
query87	3326	3127	3105	3105
query88	2929	2437	2436	2436
query89	378	290	289	289
query90	1675	189	190	189
query91	125	100	100	100
query92	61	48	48	48
query93	1556	632	619	619
query94	800	319	302	302
query95	381	269	268	268
query96	602	278	286	278
query97	3213	3046	2982	2982
query98	265	196	188	188
query99	1685	1287	1271	1271
Total cold run time: 257434 ms
Total hot run time: 169883 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.08	0.04	0.04
query3	0.22	0.04	0.05
query4	1.69	0.07	0.06
query5	0.48	0.47	0.48
query6	1.16	0.72	0.71
query7	0.02	0.01	0.02
query8	0.05	0.04	0.04
query9	0.56	0.51	0.50
query10	0.57	0.57	0.56
query11	0.15	0.11	0.12
query12	0.15	0.12	0.13
query13	0.61	0.61	0.61
query14	0.80	0.79	0.80
query15	0.92	0.86	0.86
query16	0.37	0.36	0.36
query17	0.97	0.98	0.98
query18	0.21	0.20	0.21
query19	1.81	1.73	1.74
query20	0.03	0.01	0.01
query21	15.43	0.79	0.67
query22	4.42	7.15	1.23
query23	17.69	1.45	1.31
query24	2.27	0.22	0.23
query25	0.18	0.08	0.08
query26	0.33	0.22	0.21
query27	0.46	0.24	0.24
query28	13.17	0.99	0.97
query29	12.53	3.35	3.34
query30	0.26	0.06	0.06
query31	2.88	0.41	0.41
query32	3.24	0.49	0.48
query33	2.91	2.91	2.96
query34	15.42	4.26	4.26
query35	4.31	4.29	4.29
query36	0.67	0.48	0.49
query37	0.18	0.16	0.17
query38	0.18	0.16	0.15
query39	0.04	0.03	0.03
query40	0.16	0.12	0.14
query41	0.10	0.04	0.04
query42	0.06	0.05	0.04
query43	0.04	0.04	0.03
Total cold run time: 107.82 s
Total hot run time: 29.96 s

Copy link
Contributor

github-actions bot commented Aug 1, 2024

PR approved by at least one committer and no changes requested.

@github-actions github-actions bot added approved Indicates a PR has been approved by one committer. reviewed labels Aug 1, 2024
Copy link
Contributor

github-actions bot commented Aug 1, 2024

PR approved by anyone and no changes requested.

@morrySnow morrySnow merged commit 7061ae2 into apache:master Aug 1, 2024
27 of 30 checks passed
@morrySnow morrySnow added dev/2.1.x usercase Important user case type label dev/3.0.x p0_b labels Aug 1, 2024
dataroaring pushed a commit that referenced this pull request Aug 2, 2024
let range partition pruner support date_trunc(dt, 'day') > 10.
For example, partition column is dt, 
there is a partition
('2020-01-01 10:00:00', '2020-02-05 10:00:00'),
and a predicate
date_trunc(dt, 'day')<'2019-01-01 ',
this partition can be pruned.
feiniaofeiafei added a commit to feiniaofeiafei/doris that referenced this pull request Aug 5, 2024
…e#38025)

let range partition pruner support date_trunc(dt, 'day') > 10.
For example, partition column is dt, 
there is a partition
('2020-01-01 10:00:00', '2020-02-05 10:00:00'),
and a predicate
date_trunc(dt, 'day')<'2019-01-01 ',
this partition can be pruned.
yiguolei pushed a commit that referenced this pull request Aug 5, 2024
starocean999 pushed a commit that referenced this pull request Aug 6, 2024
…8897)

introduced by #38025
Or expression evaluate wrongly in #38025. For example, partition column
is a, b, predicate is a=a or b>1 , partition column range is min<a<5, b
is infinite. The evaluate result of or expression should be b is
infinite(because when a is not null, a=a is true, there is no restrict
for b, e.g. a=1, b=0 satisfy a=a or b>1). #38025 pr has wrongly evaluate
result b >1
dataroaring pushed a commit that referenced this pull request Aug 6, 2024
…8897)

introduced by #38025
Or expression evaluate wrongly in #38025. For example, partition column
is a, b, predicate is a=a or b>1 , partition column range is min<a<5, b
is infinite. The evaluate result of or expression should be b is
infinite(because when a is not null, a=a is true, there is no restrict
for b, e.g. a=1, b=0 satisfy a=a or b>1). #38025 pr has wrongly evaluate
result b >1
feiniaofeiafei added a commit to feiniaofeiafei/doris that referenced this pull request Aug 7, 2024
…ache#38897)

introduced by apache#38025
Or expression evaluate wrongly in apache#38025. For example, partition column
is a, b, predicate is a=a or b>1 , partition column range is min<a<5, b
is infinite. The evaluate result of or expression should be b is
infinite(because when a is not null, a=a is true, there is no restrict
for b, e.g. a=1, b=0 satisfy a=a or b>1). apache#38025 pr has wrongly evaluate
result b >1
feiniaofeiafei added a commit to feiniaofeiafei/doris that referenced this pull request Aug 9, 2024
…e#38025)

let range partition pruner support date_trunc(dt, 'day') > 10.
For example, partition column is dt, 
there is a partition
('2020-01-01 10:00:00', '2020-02-05 10:00:00'),
and a predicate
date_trunc(dt, 'day')<'2019-01-01 ',
this partition can be pruned.
@yiguolei yiguolei mentioned this pull request Sep 5, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.1.6-merged dev/3.0.1-merged p0_b reviewed usercase Important user case type label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants