首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复使用JDBC查询数据库或将数据转储到ArrayList并在需要某些数据时遍历列表?

重复使用JDBC查询数据库或将数据转储到ArrayList并在需要某些数据时遍历列表?
EN

Stack Overflow用户
提问于 2013-06-10 19:18:12
回答 2查看 128关注 0票数 0

我正在为一个行业的约会议程工作。问题是哪一个更好。当应用程序初始化时,将数据从数据库转储到ArrayList,并在我想要一天约会时遍历ArrayList,或者每次我想要一天的约会时执行一次查询?数据库位于localhost上。

Java查询是PreparedStatement。

我之所以这样问,是因为当约会增加时,在ArrayList上迭代的效率将会越来越低。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-10 19:28:22

根据表的大小和系统的可伸缩性,您有不同的选择。

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

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

也可以在内存数据库中查看。

票数 1
EN

Stack Overflow用户

发布于 2013-06-10 20:25:15

一般来说,我会离开数据库处理和缓存数据库。我做了一些测量,结果表明在JVM中处理记录相当慢(过滤、排序、非重复、分组)。

如果您使用的是更高级别的集合,比如ArrayList,而不是数组(比如Customer[]),情况尤其如此。

我甚至不担心“远程”数据库;在本地主机数据库的情况下,只需为数据库提供更多的RAM作为其缓存或工作内存,并且使用Java很难超越数据库的数据库访问规划/缓存。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17022653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档