4

大量のトランザクションが発生しているので、現在のデータベースでロックがどのように実装されているかについての情報を取得したいと思います。ゼロバジェットで作業している私の選択は、mysql5.5とpostgres9.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 でテーブルが読み取られないように「ロック」する唯一の方法は、通常の DML ステートメントでは発生しない ACCESS EXCLUSIVE モードを使用して手動でロックすることです。これを実現できるのは、DDL ステートメント (ALTER TABLE など) だけです。

于 2011-02-28T19:00:37.373 に答える
0

次の本が役に立つかもしれません: Inside Microsoft SQL Server 2005: The Storage Engine。「ロギングとリカバリ」および「ロックと並行性」の章を読んでください。この本からの多くの情報は、今日のデータベース システムの多くに適用されます。本当に良い本です。

同時実行制御について読むことをお勧めします。Concurrency_control wikiのセクション (データベース トランザクションと ACID ルール)から始めることができます。

ロックを比較したい場合は、まずトランザクションで発生する問題とトランザクションの分離レベルについて読んでください。

于 2011-02-28T18:16:50.357 に答える
0

これを確認してください: SQL Server 2008 のロック。

于 2011-02-28T19:08:42.857 に答える