minghong
34c85c962f
[opt](Nereids) improve semi/anti join estimation when column stats are unavailable #27793
...
this change improves performance of tpch q20. on sf500, improved from 6.3sec to 1.1 sec
this change has no impaction on tpcds
when column stats is unknown,
the basic algorithm to estimate left semi join output row count is its left child output row count.
q1: "A left semi join B on A.x=B.x"
the output row is estimated as A.rowCount.
But the basic algorithm is not good to following pattern:
q2: "A left semi join filter(B) on A.x=B.x"
Because there is a filter on B, usually this left semi join also reduce the row count of A, and we estimate
the output of q2 as A.rowCount * Filter.rowCount/B.rowCount
2023-12-01 15:48:33 +08:00
..
2023-08-24 23:37:06 +08:00
2023-10-31 22:36:45 +08:00
2023-11-14 10:49:21 +08:00
2023-06-21 16:25:07 +08:00
2023-05-15 15:13:16 +08:00
2023-05-29 15:38:31 +08:00
2023-11-30 21:27:13 +08:00
2023-07-28 17:28:52 +08:00
2023-07-28 17:28:52 +08:00
2023-11-23 14:26:19 +08:00
2023-11-30 09:56:43 +08:00
2023-11-30 23:27:58 +08:00
2023-10-27 10:27:22 +08:00
2023-11-24 20:53:28 +08:00
2023-11-19 09:51:57 +08:00
2023-06-01 13:09:58 +08:00
2023-11-16 08:03:31 -06:00
2023-11-13 10:07:10 +08:00
2023-11-08 20:54:35 +08:00
2023-11-01 23:48:55 +08:00
2023-11-22 00:13:30 +08:00
2023-09-08 10:20:18 +08:00
2023-12-01 09:10:32 +08:00
2023-11-29 19:04:53 +08:00
2023-11-28 17:36:11 +08:00
2023-06-13 14:31:24 +08:00
2023-09-06 11:48:29 +08:00
2023-09-06 22:48:15 +08:00
2023-11-29 23:43:21 +08:00
2023-11-15 00:01:13 +08:00
2023-11-21 14:04:57 +08:00
2023-08-23 20:10:53 +08:00
2023-11-14 21:13:26 -06:00
2023-11-21 18:35:12 +08:00
2023-11-21 18:35:12 +08:00
2023-11-10 14:55:26 +08:00
2023-11-29 18:26:42 +08:00
2023-08-07 20:03:03 +08:00
2023-11-27 09:49:46 +08:00
2023-11-22 10:53:29 +08:00
2023-10-14 19:46:42 +08:00
2023-06-01 13:09:58 +08:00
2023-11-27 09:58:53 +08:00
2023-11-28 10:41:16 +08:00
2023-12-01 09:58:20 +08:00
2023-12-01 15:48:33 +08:00
2023-11-28 10:41:16 +08:00
2023-11-28 10:41:16 +08:00
2023-11-28 14:18:14 +08:00
2023-11-28 10:41:16 +08:00
2023-11-28 10:41:16 +08:00
2023-08-23 20:10:53 +08:00
2023-12-01 15:48:33 +08:00
2023-12-01 09:58:44 +08:00
2023-11-14 11:51:32 +08:00
2023-11-24 16:37:30 +08:00
2023-11-13 10:06:43 +08:00
2023-11-30 22:08:15 +08:00
2023-07-11 14:27:03 +08:00
2023-11-14 10:49:21 +08:00
2023-08-26 17:52:10 +08:00
2023-11-13 21:39:28 +08:00
2023-11-18 00:08:53 +08:00
2023-09-15 10:39:07 +08:00
2023-10-30 17:36:17 +08:00
2023-11-21 20:50:02 +08:00
2023-09-04 16:38:37 +08:00
2023-12-01 15:32:23 +08:00
2023-10-08 10:46:43 +08:00
2023-05-29 15:38:31 +08:00
2023-05-24 20:17:28 +08:00
2023-08-23 20:10:53 +08:00
2023-08-23 20:10:53 +08:00
2023-08-25 09:15:27 +08:00
2023-08-25 09:15:27 +08:00
2023-05-10 15:06:23 +08:00
2023-08-23 20:10:53 +08:00
2023-08-23 20:10:53 +08:00
2023-06-06 11:05:56 +08:00
2023-06-06 11:05:56 +08:00
2023-06-06 11:05:56 +08:00
2023-08-25 09:15:27 +08:00
2023-11-22 12:58:30 +08:00
2023-05-29 15:38:31 +08:00
2023-10-26 17:33:28 +08:00
2023-06-21 18:36:46 +08:00
2023-11-24 16:37:30 +08:00
2023-11-24 16:37:30 +08:00
2023-11-13 22:08:06 +08:00
2023-11-28 11:35:46 +08:00
2023-11-29 10:37:28 +08:00
2023-11-29 10:37:28 +08:00
2023-11-29 10:37:28 +08:00
2023-09-06 16:16:16 +08:00
2023-11-08 19:23:49 +08:00