4

我有繁重的事务处理,并想了解有关如何在当前数据库中实现锁的信息。在零预算下工作,我的选择仅限于 mysql 5.5 和 postgres 9.0。

有没有比较锁的网站?

从文献中我知道您可以拥有只读和读写锁,并且处理锁的一种好方法是阻止数据的路径。这意味着阻塞 btree 的一部分。但我找不到关于这些数据库如何工作的细节。

非常感谢。

4

3 回答 3

2

这是 PostgreSQL 的概述

http://www.postgresql.org/docs/current/static/explicit-locking.html
http://www.postgresql.org/docs/current/static/locking-indexes.html

不确定“只读锁”是什么意思,但在 PostgreSQL 中,“锁定”表不被读取的唯一方法是使用 ACCESS EXCLUSIVE 模式手动锁定它,这在常规 DML 语句中不会发生。只有 DDL 语句(例如 ALTER TABLE)才能实现这一点。

于 2011-02-28T19:00:37.373 回答
0

检查这个:SQL Server 2008 锁定。

于 2011-02-28T19:08:42.857 回答
0

也许您会发现这本书很有用:Inside Microsoft SQL Server 2005: The Storage Engine。阅读“日志记录和恢复”和“锁定和并发”章节。本书中的大量信息适用于当今的许多数据库系统。这真是一本好书。

我建议您阅读有关并发控制的内容。您可以从Concurrency_control wiki开始,尤其是从“数据库事务和 ACID 规则”部分开始

如果您想比较锁,首先我会阅读有关事务中发生的问题和有关事务隔离级别的信息。

于 2011-02-28T18:16:50.357 回答