gpt4 book ai didi

java - 使用 JDBC 查询数据库的最有效方式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:00 25 4
gpt4 key购买 nike

我需要从多个表中获取数据,因此我使用了带有 N 个左外连接的查询。在我看来,这可能会浪费性能,因为我得到了大量数据的笛卡尔积。为了获得更好的性能,哪种方法更可取?我正在考虑做 N+1 个小查询。我走在正确的轨道上吗?

我知道,这与 JDBC 细节关系不大。我想从单个表中检索数据,并与其他 N 个表进行左外连接。结果集变得非常大,因为我得到了笛卡尔积。例如:

表1数据1、表2数据1、表3数据1

表1数据1,表2数据2,表3数据1

表1数据1,表2数据1,表3数据2

表1数据1,表2数据2,表3数据2

我知道如果对数据库进行多次查询(例如在我的示例中,我得到表 1 的 1 条记录,表 2 的 2 条记录和表 2 的 2 条记录)我将对数据库进行多次往返.但我已经用这种方式进行了测试,它看起来快了很多。

最佳答案

这确实不是特定于 JDBC 的。一般来说,根据返回的数据量,在单个结果集中检索所有内容会获得更好的性能。 N+1 查询往往会对数据库进行大量往返。结果集是否包含您不需要的字段?您可以修剪返回的列吗?如果可能的话,这将是第一步。

关于java - 使用 JDBC 查询数据库的最有效方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9807415/

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