[MDEV-18561] Semi-Join optimization for single-table update Created: 2019-02-12 Updated: 2023-08-29 Resolved: 2023-08-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Manipulation - Update |
| Fix Version/s: | 11.1.0 |
| Type: | Task | Priority: | Major |
| Reporter: | Matthias Schröder | Assignee: | Igor Babaev |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | optimizer, performance | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
It seems better to switch to multi_table_update code if subqueries are involved in order to gain from semi-join optimization: Before MariaDB [test_real]> explain UPDATE akte set ckunr = concat('X',trim(ckunr)) where naktnr IN (SELECT naktnr FROM imp_adr where cdiskid='D_0000010561518');
After MariaDB [myads]> explain UPDATE akte set ckunr = concat('X',trim(ckunr)) where naktnr IN (SELECT naktnr FROM imp_adr where cdiskid='D_0000010561518');
I am on the mariadb-server 10.3 branch, latest code. |
| Comments |
| Comment by Sergei Petrunia [ 2023-08-24 ] |
|
Fixed in 11.1 by fix for |