根据MySQL手册的说法:
为什么呢?我认为行级锁更好,因为锁定较大的表时,锁定的数据更多。对于大型表,表锁通常比行锁更好。
行级锁需要比表级或页面级锁使用更多的内存。
使用行级锁时需要获取更多的锁,这会消耗更多资源。
来源:http://www.devshed.com/c/a/MySQL/MySQL-Optimization-part-2/
行级锁的优点:
行级锁的缺点:
在以下情况下,表锁优于页面级或行级锁:
UPDATE tbl_name SET column=value WHERE unique_key_col=key_value;
DELETE FROM tbl_name WHERE unique_key_col=key_value;
对于进行大量数据修改的大型表格,使用"行"级别锁定更好。这样系统只需处理单个表格锁定而不是大量的锁定(每一行都有一个)。
关系型数据库管理系统会自动升级锁定级别。
表锁定使许多会话可以同时从表中读取 |
为了实现非常高的锁定速度,MySQL使用表锁定 |
"我认为行级锁定更好,因为" [你锁定的数据更少]。
首先,在本页中,“更好”定义不清。看起来更好意味着“更快”。
由于锁定争用,行级锁定通常不能更快。锁定大结果集的每一行意味着与另一个大结果集查询和回滚的非常真实的冲突可能性。