当一张表小得多时,以编程方式连接表还是使用 SQL Join 语句更快?

2024-04-02

当一张表小得多时,以编程方式连接表还是使用 SQL Join 语句更快?

更具体地说,如何从hashmap<int, string>与预连接数据库上的表相比,使用较小的表并将其值设置为从较大的表返回的对象?两个表的相对大小有区别吗?

Update:重新表述我的问题。是否抓住subset较大的表(我关心的 5,000 - 20,000 条记录),然后以编程方式连接较小的表(我将在本地缓存)执行 SQL 连接? SQL 连接适用于整个表还是仅适用于将返回的较大表的子集?

SQL连接语句:

SELECT id, description
FROM values v, descriptions d
WHERE v.descID=d.descID
AND v.something = thingICareAbout;

个人陈述:

SELECT id, descID
FROM values
WHERE v.something = thingICareAbout;

SELECT descID, description
FROM descriptions d;

程序化加入:

for (value : values){
    value.setDescription(descriptions.get(value.getDescID))
}

附加信息:大表中总共有 800,000,000 条记录,对应小表中的 3,000 个值。大多数搜索会返回 5,000 - 20,000 个结果。这是一个 Oracle 数据库。


连想都别想。数据库至少可以尽可能快地在本地执行操作,而无需通过网络传输所有数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当一张表小得多时,以编程方式连接表还是使用 SQL Join 语句更快? 的相关文章

随机推荐