gpt4 book ai didi

java - 从 SQL 重新查询或在 ArrayList 中循环并在 Java 中过滤数据是否更快?

转载 作者:行者123 更新时间:2023-11-29 01:22:33 25 4
gpt4 key购买 nike

我有一个从 SQL 查询中填充的 ArrayList,它包含一个表的所有行。

如果我想要这个 ArrayList 的一个子集(比如 WHERE column1 = x)
是重新建立 SQL 连接并获取具有此条件的查询更快,还是循环遍历 arraylist 并过滤数据? (考虑 1000 行的数组列表)

如果通过 arraylist 的循环更快,直到它仍然适用的大小是多少?

谢谢

最佳答案

在 Java 中执行此操作应该总是更快。内存数组的 Java 过滤与 SQL 一样快,甚至更快。而且您还必须考虑连接到数据库、发送命令和解码答案的开销。

对于真正复杂的查询,通过 SQL 完成这件事可能更简单,并且它可能在数据库大小方面更好地扩展(想想一百万行:你打算将它们全部保存在内存中吗? ).此外,SQL 查询优化器可能有更多关于列基数的信息,并且能够更有效地执行,因此总体上比你的仅仅更快的逐个检查更快基础Java代码。

另一方面,还要考虑代码的可维护性。有些事情最好留给 SQL,即使那样会慢一点。

关于java - 从 SQL 重新查询或在 ArrayList 中循环并在 Java 中过滤数据是否更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14661473/

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