【发布时间】:2019-12-12 12:57:19
【问题描述】:
我需要从我的 java 应用程序中的大约 28 个表中检索数据,然后将其转储到 Elastic Search。我需要使用 JDBC 来查询和从数据库中获取数据(在我的例子中是 PostgreSQL。)连接是获取所有数据的最佳方式吗?
从 SQL 和 PostgreSQL 的角度来看(我不了解 PostgreSQL 的一些特性)检索数据最有效的方法是什么?
添加,一个表是主表。其他表是“连接”表,只有两列包含主表中的主键,另一列充当另一个表的外键,其中包含更多我不关心的数据。
【问题讨论】:
-
通常,检索数据最有效的方法是编写一个
SELECT语句来获取您想要的数据。如果其中包含JOINs,那就这样吧。 -
那么,对所有 28 个表执行连接是理想的吗?
-
这在很大程度上取决于您需要这些数据的形式。如果您需要原始表数据,最好一张一张转储表。
-
@LaurenzAlbe - 所以将主表与 28 个表中的每一个一个一个地连接起来,然后进行转储..重复的数据库命中不会很昂贵吗?
-
没有。加入 28 个表将比运行 28 个单独的选择更昂贵。
标签: sql postgresql join jdbc