データベースのダービーに問題があります。時には、書き込み操作に多くの時間がかかります。 ブロッキング書き込みを読み取る操作が多数ある可能性はありますか?おかげさまで 読み込み操作でデータベースの書き込み操作をブロックできますか?
1
A
答えて
2
読み取りには共有ロックが必要です。書き込み(更新)には排他ロックが必要です。排他ロックを取得するには、トランザクションが共有ロックを解放するのを待つ必要があります。だからa reader can block a writer。同じデータを読み取ろうとする
別のトランザクションが 読み取りを許可されていますが、データを更新しようとするトランザクションは は、共有ロックが解除されるまで、そうすることが防止されます。
また、ダービーのType and Scope of Locksも参照してください。
1つ以上のトランザクションのisolation levelを変更することで、影響を減らすことができます。 DerbyのデフォルトはREAD COMMITTED
です。つまり、並行性を向上させるには、1つ以上のリーダーをREAD UNCOMMITTED
に設定する必要があります。しかし、READ UNCOMMITTED
は、ダーティー読み取り、反復不可能な読み取り、およびファントム読み取りを許可します。 (READ COMMITTED
は反復可能な読み取りとファントム読み取りを許可しますが、ダーティー読み取りは許可しません)。
リーダーを減らしてライターをブロックする別の方法は、リーダーをより高速に実行することです。クエリーの実行計画を読み、賢明に単一列および複数列の両方のインデックスを使用し、インデックスを定期的に再構築して断片化を減らして、クエリを調整します。
関連する問題
- 1. mswordファイルの読み込み、書き込み、操作のAPI
- 2. Boost :: Asio読み込み/書き込み操作
- 3. 書き込み操作コスト
- 4. Linuxカーネルでの原子操作の読み込みと書き込み
- 5. Firebaseの書き込み操作のスウィフトレスポンスハンドラ
- 6. fioエラー書き込み操作のチェック
- 7. ファイルへの書き込み操作
- 8. データベース上で多くの読み込み/書き込み操作を実行する方法
- 9. サーバIPでのバルク書き込み操作エラー:27017。書き込みエラー:[[email protected]]
- 10. MongoDB読み書き操作
- 11. MongoDBの同時読み込み操作
- 12. Hibernate内の書き込み操作のブロック
- 13. アクセス操作と読み取り/書き込み。違いは何ですか?
- 14. BluetoothGatt読み取り/書き込み操作をキャンセルしますか?
- 15. Valgrindでの読み取り操作で無効な書き込み
- 16. ObjectiveCは読み取り時に書き込み操作を実行します
- 17. 読み込み/書き込み環境設定が高価な操作ですか?
- 18. リポジトリ内のコマンド/書き込み操作はアンチパターンですか?
- 19. mongoデータベースの読み込み操作の使い方は?
- 20. タッチ操作とchmod書き込み操作はありますか?
- 21. ASN.1をJavaで読み込み、操作し、書き込むための無料パッケージはありますか?
- 22. Python:大容量のファイル読み込みストア操作書き込みプログラムでのRAM使用量の削減
- 23. ディスク書き込み操作をフックしますか? Win32/64
- 24. 読み込み操作でBigQueryエラー:BigQueryサーバーに接続できません
- 25. クォーツジョブからデータベースへの読み込み/書き込み
- 26. tkinterでのテキストファイルの読み込み、操作、表示
- 27. メソッドの書き込み操作を確認する
- 28. ロギングエンティティの書き込み操作数を減らす
- 29. オブジェクトの書き込み/読み込み
- 30. boolの読み取り/書き込み操作はx86上で不可分ではありませんか?