2011-01-28 72 views
1

是否可以與HSQLDB並行運行查詢?由於我在文檔中找不到任何內容,我認爲優化程序沒有包含並行性。但是如何處理多個數據庫連接?假設我有2個線程可以工作(和2個內核可用),他們每個人都有一個到數據庫的「私有」(獨立)連接,並且他們每個人都試圖執行不同的查詢(對不同表格的查詢)。這樣的查詢是否會並行執行?HSQLDB中的並行查詢

回答

0

HSQLDB 2.x是完全多線程的,並行執行此類查詢。

一般來說,每個線程都會與其他線程分開執行查詢。事務管理器檢查每個語句的表和行訪問權限,並在必要時引入等待當前線程,只有當另一個連接修改了所涉及的表或行時,否則它允許連接線程繼續。如果您的語句不修改數據,則多個線程可以同時查詢同一個或多個表。

等待是在LOCKS模式的表級別和MVCC模式的行級別引入的。

請參閱HSQLDB Gide http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc