我有一个包含嵌入式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
?我想知道我是否能以这种方式实现一些性能提升。
答案 0 :(得分:1)
直接连接到数据库的JDBC URL是:
"jdbc:hsqldb:file:" + new File(dataDirectory + "/store/db").getAbsolutePath()