Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
Index Condition Pushdown optimization is currently not used for multi-table UPDATEs/DELETEs.
It is not used for
- Tables that are not updated
- When UPDATE/DELETE is buffered - i.e. when it has read phase followed by update phase.
Start to use it.
One thing to check is locking:
When UPDATE reads records, it acquires locks on the records being read (so that nobody changes the value while we're changing it). If the record doesn't match the WHERE, it is unlocked with unlock_row call.
When we do a locking read and use ICP which filters out records - do we end up with the right kind of locks?