答案 0 :(得分:22)
答案 1 :(得分:16)
行锁定比表或页面级锁定需要更多内存。
必须获得更多具有行锁定的锁,这会消耗更多资源
来自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;
答案 2 :(得分:1)
行对于正在进行主要数据修改的大型表,表级锁定更好。这使得系统可以在桌面上使用单个锁,而不必处理大量的锁(每行一个)。
RDBMS会自动在内部升级锁定级别。
答案 3 :(得分:1)
表锁定允许多个会话同时从表中读取
为了实现非常高的锁定速度,MySQL使用表锁定
“我认为行级锁定更好,因为”[锁定较少的数据]。
首页“更好”在此页面中定义不明确。似乎更好意味着“更快”。
由于争用锁定,行级锁定(通常)不能更快。锁定大型结果集的每一行意味着与另一个大型结果集查询和回滚发生冲突的真实可能性。
答案 4 :(得分:0)
一般情况下,如果你需要锁定大量数据,那么大表上的1个锁比一大堆行级或页锁更便宜