gpt4 book ai didi

java - ucanaccess 太慢

转载 作者:行者123 更新时间:2023-12-01 21:36:42 32 4
gpt4 key购买 nike

我已经正确添加了所有必需的 JARS:

  • Ucanaccess 3.0.4
  • commons-lang-2.6
  • commons-logging-1.1.1
  • hsqldbd
  • jackcess-2.1.3

我的数据库是 100MB。仅使用 Jacksess 时,相同的查询需要 4-5 秒,而这个查询大约需要 1-2 分钟。我做了一些研究,发现 Ucanaccess 镜像了整个数据库。我怎样才能禁用它?还是有必要?

我还尝试了参数(内存、singleConnection、skipIndexes),但它没有改变任何东西。

我必须使用 UcanAccess,因为我想使用 JasperReports。为此我需要一个有效的连接。

我的代码:

        try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String connectionURL = "jdbc:ucanaccess://P:/myDatabase.accdb";
Connection conn = DriverManager.getConnection(connectionURL, "", "");
Statement stmt = conn.createStatement();

String query =
"Select * from REQ_ACQ_ACQUISITIONS";


ResultSet rs = stmt.executeQuery(query);
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
if (i > 1) System.out.print(", ");
String columnValue = rs.getString(i);
System.out.print(columnValue + " " + rs.getMetaData().getColumnName(i));
}
System.out.println("");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

请注意,这并不是真正的“连接时间”,而是整个 JVM 生命周期中第一次连接的时间。所以这是一个启动时间,类似于数据库启动时间。以下所有连接都将是瞬时的。有几种方法可以显着减少首次连接的时间。最简单的方法是构建一个过滤器数据库,该数据库作为外部表链接到您的报告所需的唯一表。

关于java - ucanaccess 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36883855/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com