tldl;
- EXPLAIN SELECTして
type=ALL
ならテーブルロックが発生します!
update
例えばこういうupdateSQLのときに
UPDATE users
SET field2 = CONCAT(field1, field2),
field1 = NULL,
updated_at = NOW()
WHERE field1 IS NOT NULL
AND field1 != '';
EXPLAIN SELECT
で実行してみてください
EXPLAIN SELECT * from users WHERE field1 IS NOT NULL
AND field1 != '';
すると
typeがSELECTされるので、ALL
になっていたらフルスキャン=テーブルロックが発生します!