我有以下查询:
SELECT * WHERE accountId = 1 AND (phone = "1234" OR fax = "5678") FOR UPDATE
WHERE 子句中的所有 3 列都有键。accountId 为索引,电话和传真与 accountId 组合成唯一索引:
UNIQUE KEY `phone` (`phone`,`accountId`),
UNIQUE KEY `phone` (`fax`,`accountId`),
KEY `aid` (`aid`),
哪些钥匙会被锁定?我需要的是用 phone = "1234" || 锁定行 传真 = "5678" for accountId = 1。是否正确优化或所有行将被锁定。
mysql版本是5.0