[MCOL-3379] join happened on the UM instead of being pushed down to the PM Created: 2019-06-12 Updated: 2023-02-08 Resolved: 2023-02-08 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | MDB Plugin |
| Affects Version/s: | 1.2.4 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | David Hill (Inactive) | Assignee: | Unassigned |
| Resolution: | Won't Do | Votes: | 1 |
| Labels: | mcs_cs | ||
| Environment: |
2um 2pm with local query |
||
| Epic Link: | ColumnStore Performance Improvements |
| Description |
|
Reported and ask by customer: Inquiry, it seems that the optimizer should have pushed this join to the PM instead of leaving it on the UM, unless somehow this is a CTE requirement ? Can we make those trace more clear about where a join is happening and when data is transfered back and forth ? Also Once on the UM, it could be pushed down to the PM by block of PmMaxMemorySmallSide ?? I am playing with the query in this ticket, and removed the limit to transform all the data (could go to 15Billion rows), and with the query as it is we are hitting a um memory join limit (on the local pm). the trace looks like this, and it wasn't very clear to me why and where there was a UM join, the last HJS happens on the PM...but the actual join happens on the UM side, also a hint is the TNS step before on the UM transferring 1836811 rows to the UM : Desc Mode Table TableOID ReferencedColumns PIO LIO PBE Elapsed Rows after some rework, I managed to pushdown that join to the PM only avoid the memory limitation. now I can transform the data without limit of rows (memory) and this trace all happens on the PM at the end. : Desc Mode Table TableOID ReferencedColumns PIO LIO PBE Elapsed Rows |
| Comments |
| Comment by David Hall (Inactive) [ 2022-03-04 ] |
|
|
| Comment by alexey vorovich (Inactive) [ 2023-02-08 ] |
|
likely obsolete in new generation |