我需要从我的java应用程序中的大约28个表中检索数据,然后将其转储到Elastic。我需要使用JDBC从数据库中查询和获取数据(在我的例子中是PostgreSQL)。联接是否是获取所有数据的最佳方法?
从SQL角度和从PostgreSQL角度(我不知道PostgreSQL的一些特性),检索数据的最有效方法是什么?
要添加,一个表是主表。其他表是“联接”表,只有两个列包含主表中的主键,另一个列充当外键,另一个列包含更多我不关心的数据。
发布于 2019-12-12 19:23:56
在PostgreSQL中加入这么多表将需要很长的时间,不仅在执行阶段,而且在计划阶段。在从所有相关表中提取统计数据时,查询规划者需要考虑许多不同的候选计划。还有from_collapse_limit和join_collapse_limit -- 这些限制(文件)会导致查询规划器自己重新安排查询,而且并不总是理想的。
在将数据发送到ElasticSearch之前,最好将数据提取出来,并使用编程专业知识来消化这些数据。
披露:我为EnterpriseDB (EDB)工作
https://stackoverflow.com/questions/59305131
复制相似问题