我有大量的事务工作在进行,我想获得有关锁在当前数据库中是如何实现的信息。在零预算的情况下,我的选择仅限于MySQL5.5和postgres 9.0。
有没有比较锁的网站?
从文献中我知道你可以有只读锁和读写锁,处理锁的一个好方法是阻塞到数据的路径。这意味着阻塞btree的某些部分。但我找不到这些to数据库如何工作的细节。
非常感谢。
发布于 2011-03-01 03:00:37
以下是PostgreSQL的概述
http://www.postgresql.org/docs/current/static/explicit-locking.html
http://www.postgresql.org/docs/current/static/locking-indexes.html
我不确定“只读锁”是什么意思,但在PostgreSQL中,“锁定”表的唯一方法是使用访问独占模式手动锁定它,而这不是常规DML语句所做的事情。只有DDL语句(如ALTER TABLE)才能做到这一点。
发布于 2011-03-01 02:16:50
也许你会发现这本书很有用: Microsoft SQL Server2005内部:存储引擎。阅读“日志记录和恢复”和“锁定和并发”两章。本书中的许多信息都应用到了当今的许多数据库系统中。这是一本很好的书。
我建议您阅读有关并发控制的内容。您可以从Concurrency_control wiki开始,尤其是在|数据库事务和ACID规则部分中。“
如果你想比较锁,首先我会阅读有关事务中发生的问题和事务隔离级别的信息。
发布于 2011-03-01 03:08:43
检查这个:SQL Server 2008 Locking.
https://stackoverflow.com/questions/5145718
复制相似问题