我正在使用H2數據庫 - 以嵌入模式運行 - 當我的應用程序啓動時,我使用mySQL數據庫中的數據加載H2數據庫。我使用鏈接表來指向mySQL表。H2數據庫 - 創建索引
我的問題是,我試圖加快H2在表上創建索引的時間,特別是對於較大的表(500萬+)。
有誰知道是否可以安全地在單獨的線程中運行CREATE INDEX命令,同時我將下一個表的數據加載到H2中? 例如: 線程1:負載表1 - >告訴線程2開始創建索引,然後線程1個負載表2等
我不能,因爲我後來加載表時使用MVCC模式當我做我的選擇時需要使用MULTI_THREADED模式。當我嘗試使用MULTI_THREADED模式時,即使我正在將數據加載到離散表中,我也會收到鎖定錯誤。
非常感謝!
爲什麼不加載數據和「正常」後創建索引? – twillouer 2013-02-15 17:02:39
創建索引需要很長時間,所以我正在尋找一種方法來分配跨線程的時間。目前,我正在做所有事情,因爲鎖定問題,但我會嘗試Thomas的建議。 – joechip 2013-02-15 18:06:43
我明白了,但我不確定比許多線程會改善。如果你有統計資料,我會接受採訪。 – twillouer 2013-02-15 21:25:37