0

I am working on a trade's appointments agenda. The question is that what is better. When application initialize, dump data from database to an ArrayList and iterate over ArrayList whenever that I want appointments of a day OR execute one query everytime that I want appointments of a day? The database is on localhost.

Java querys are PreparedStatement.

I ask this because when appointments will increase, Iterate over ArrayList is going to be less and less efficient.

4

2 回答 2

1

根据表的大小和系统需要的可扩展性,您有不同的选择。

如果您有显示每日约会的模式,那么我建议您提取该模式以有一个通用的解决方案来显示一天的约会。

最重要的是,如果您要在选定的日期运行验证,请在数据库中保持简单和安全,这样也不会丢失整个持久性。

也可以查看内存数据库。

于 2013-06-10T11:28:21.653 回答
0

一般来说,我会留下数据库处理缓存数据库。我做了一些测量,这些结果表明在 JVM 中处理记录非常慢(过滤、排序、不同、组)。

如果您使用更高级别的集合ArrayList(例如与数组(例如Customer[])相比),则尤其如此。

我什至不会担心“远程”数据库;在 localhost 数据库的情况下,只需为数据库提供更多 RAM 用于其缓存或工作内存,并且很难用 Java 击败数据库的数据库访问计划/缓存。

但是您应该遵循规则,仅使用一条 SQL 语句来查询您的数据库。查询有多复杂并不重要,但重要的是您的请求在单个查询中完成。

还有另一个优点:您无需显式处理缓存。在 Java 中构建缓存并不难,但缓存同步/失效可能很困难。所以你必须维护的代码库要小得多。

于 2013-06-10T12:25:14.653 回答