H2データベース
ひょんなことから、H2データベースというものを知ったので、試してみる。
公式サイトは、ここらへん。
とりあえず、トップページにパフォーマンス比較があるけど、これってマジなんですかね。
インストールと実行
めんどいので、インストールはすべてデフォルトで。
インストール後、スタートメニュー→H2→H2 Consoleを実行すると、
システムトレイにH2のアイコンが出現し(この時点でDBが起動されてる?)、
ブラウザベースのコンソールが表示される。
そのままConnectを押すと接続できる。
一応、GUIでInsertとかDeleteやらできるみたい。
なんだかいい感じかも。
Javaから接続
こんなJavaプログラムを実行する。
詳細は省略。
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;try {
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:tcp://localhost:9092/test", "sa", "");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
Utils.releaseResultSet(rs);
Utils.releaseStatement(stmt);
Utils.releaseConnection(conn);
}
結果。
TESTとHOGEというテーブルは、試しに作ったもので、
TEST
HOGE
RIGHTS
TABLE_PRIVILEGES
COLUMNS
HELP
CROSS_REFERENCES
SETTINGS
USERS
FUNCTION_ALIASES
CONSTRAINTS
COLLATIONS
TABLES
TYPE_INFO
SCHEMATA
TABLE_TYPES
SEQUENCES
ROLES
COLUMN_PRIVILEGES
CATALOGS
VIEWS
IN_DOUBT
INDEXES
あとは始めから存在する管理用のテーブルっぽい。
おわり
組み込みで使えるらしいので、HSQLとかDerbyと同じように使えるのかも。
速度が速い(自称)のに、Javaで作られてるってのもちょっと驚き。
ちなみに、Webベースのコンソールでは、他のDBにも接続できるように作られている。
# ちょっと設定が必要だけど。
PostgreSQLに接続できることは確認したけど、GUIでのInsertはできないみたいだった。
なんでだろ。
あと、たまーにポートを握ったまま落ちてたりしたのは、気のせいなのかなぁ。