I have little knowledge about MySQL internals, but I'm experiencing that in a query like:
UPDATE t1 JOIN t2 ON t1.id = t2.id SET t1.a = x, t1.b = y, [, ...] WHERE [ ... ]
rows from both t1 and t2 are locked (they're blocking other SELECTs), although values from table t2 are only read in, they never change.
Since I usually do updates joining critical tables (that are involved in several queries and whose data is most of the times only read, I must get rid of those locks: is there any way to do that?
Should I rewrite those updates with subselects instead of joins?