Posted on 2006-03-14 02:51
ikingqu 閱讀(313)
評論(0) 編輯 收藏 所屬分類:
DataBase
by jini
目前穩定版本 1.7.1
下載處 http://hsqldb.sourceforge.net/
(1)簡介
hsqldb 是由 Tomas Muller 的 Hypersonic SQL 後續開發出來的專案, hsql 已經停止研發了, hypersonic db 是純 java 所開發的資料庫, 可以透過 jdbc driver 來存取, 支援 ANSI-92 標準的 SQL 語法, 而且他占的空間很小, 大約只有 160K, 擁有快速的資料庫引擎, 也提供了一些工具, 例如 web-server, 記憶體查詢, 及一些管理工具.
他是屬於 BSD 的 license, 可以自由下載, 并且可以安裝使用在商業產品之上.
(2)安裝
當你下載了hsqldb_1_7_1.zip, 將他解壓縮到一個目錄, 我將稱之為 %HSQLDB_HOME% , 你可以看到 hsqldb 下面有這些目錄
- bin
- build
- data
- demo
- doc
- lib - hsqldb.jar
- servlet.jar
- src
最重要的就是 hsqldb.jar, 將他放到工作目錄下的 lib 中.
(3)使用
在命令列模式到工作目錄
cmd>java -cp lib/hsqldb.jar org.hsqldb.util.DatabaseManager
選擇 HSQL Database Engine Standalone ( 檔案型資料庫 )
Driver : org.hsqldb.jdbcDriver
URL : jdbc:hsqldb:test
sa 登入, 如果該資料庫 ( test ) 不存在, 他就會建立
test.properties 及 test.script
可以直接在 fundad.script 加入 SQL 標準語法,
當程式起來的時候, hsqldb 會自動匯入 script 中的資料到記憶體之中
語法與 T-SQL 相當, 可參考 http://hsqldb.sourceforge.net/doc/hsqlSyntax.html
(4)結論
如果你是小型簡單的資料庫運用, 可以采用這個 opensource
尤其在 embedded application 的應用,
但是大型資料例如上百萬筆, 除非你的 RAM 很大很大,
否則會導致速度過慢,
我嘗試在我的電腦 P4-1.8G 512MB 安裝 1百萬筆資料 ( 每筆 4 欄位 )
就會 out of memory
如果強制 java -mx1024m -ms1024m 也要花上超過一小時.... @@"
不過, 他有個很好用的地方, 就是 bundle 在 Applet 之中
有興趣的人可以參考他的范例.
附帶一提
hibernate 中可以采用 HSQLDialect 去連結,HSQLDB還有支持分頁的sql語句
PS: 1、 在hibernate中,使用hsql中,如果設置主鍵類型用Idenetity,那么java的field用Integer類型,不能用Long。
2、目前HSQLDB版本已經升級到1.8.0.2