2011-01-28 11 views
1

HSQLDBと並列にクエリを実行できますか?ドキュメントで何も見つかりませんでしたので、オプティマイザには並列性が含まれていないと思います。しかし、複数のデータベース接続はどうですか?私は2つのスレッドが動作していて、2つのコアが利用可能であり、それぞれがデータベースとの "プライベート"(別個の)接続を持ち、それぞれ異なるクエリ(異なるテーブルへのクエリ)を実行しようとします。そのようなクエリは並行して実行されますか?HSQLDBの並列クエリ

答えて

0

HSQLDB 2.xは完全にマルチスレッド化されており、そのようなクエリを並行して実行します。

一般に、各スレッドは他のスレッドとは別にクエリを実行します。トランザクションマネージャーは各ステートメントのテーブルアクセスとローアクセスをチェックし、必要に応じて別の接続が問題のテーブルや行を変更した場合にのみ現在のスレッドの待機を開始します。ステートメントがデータを変更しない場合、複数のスレッドが同じテーブルを同時に照会できます。

待機は、LOCKSモードのテーブル・レベルとMVCCモードの行レベルで導入されます。

HSQLDBギフトを参照してください。http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc