[MDEV-22415] Single table UPDATE/DELETE doesn't use non-semijoin Materialization Created: 2020-04-29 Updated: 2024-01-30 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Optimizer |
| Fix Version/s: | 11.6 |
| Type: | New Feature | Priority: | Major |
| Reporter: | Sergei Petrunia | Assignee: | Igor Babaev |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | optimizer-feature, subquery | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
Stumbled on this in Single-table UPDATE/DELETEs do not support Materialization (I mean non-semi-join one, for the issue with semi-joins, see The reason is in JOIN::choose_subquery_plan():
Here, we don't know how many times the subquery will be evaluated (if we assume it's evaluated once, Materialization doesn't make sense). Can we figure out how many rows single-table UPDATE/DELETE is going to examine?
before it does partition pruning or range analysis. |
| Comments |
| Comment by Sergei Petrunia [ 2020-09-09 ] |
|
According to igor, this task should be solved by the patch for MDEV-18511. |