【发布时间】:2017-05-31 23:34:40
【问题描述】:
我有一个带有键和值(整数数组)HashMap<key, array> 的哈希图,我想从 sql 表中检索数据,该表的列与存储在哈希图中的数组中的值匹配
我可以通过两种方式做到这一点,一种是从表中获取所有数据并遍历 hashmap,另一种是遍历 hashmap 并在每次迭代中应用 where 子句,从而对数据库进行 n 次调用。
除了上述方法之外,还有其他有效的方法吗?
【问题讨论】:
-
我认为它们中的任何一个都是低效的,您的 SQL 查询应该在一个数据库调用中检索。如果结果太大,java客户端无法处理,请分批处理。
-
这显然取决于表有多大,以及哈希图中有多少条目。想一想:想象一下,哈希映射中有十个条目,表中有一亿行。现在,假设哈希图中有一万个条目,以及一个有六行的表。你明白为什么你没有得到任何答案吗?