直接访问嵌入式缓存的HSQLDB服务器?

时间:2016-03-05 15:12:58

标签: java hsqldb

我有一个包含嵌入式HSQLDB数据库的进程。此数据库以缓存设置启动:

db = new Server();
db.setNoSystemExit(true);
db.setDaemon(true);
db.setDatabaseName(0, "store");
// default to cached or this will turn into an in-memory db by default
db.setDatabasePath(0, "file:" + new File(dataDirectory + "/store/db").getAbsolutePath()
    + ";hsqldb.default_table_type=cached;hsqldb.result_max_memory_rows=" + maxMemoryRows + ";hsqldb.cache_file_scale=" + cacheFileScale);
db.setPort(DefaultEndpoints.getPort(baseport, Ports.STORE_DB_OFFSET));
db.start();  //

通过普通的JDBC连接字符串连接到此数据库没有问题:

final String connStr = "jdbc:hsqldb:hsql://" + host + ":" + port + "/" + DB_NAME;

这很好用。但我有一系列查询,我在与服务器相同的进程中启动。有没有办法直接连接到服务器而无需经过Socket?我想知道我是否能以这种方式实现一些性能提升。

1 个答案:

答案 0 :(得分:1)

直接连接到数据库的JDBC URL是:

"jdbc:hsqldb:file:" + new File(dataDirectory + "/store/db").getAbsolutePath()