我需要从Java应用程序中约28个表中检索数据,然后将其转储到Elastic Search。我需要使用JDBC从数据库中查询和获取数据(在本例中为PostgreSQL。)联接是获取所有数据的最佳方法吗?
从SQL的角度以及从PostgreSQL的角度(我不知道的PostgreSQL的某些功能)的角度来看,最有效的数据检索方法是什么?
要添加,一个表是主表。其他表是“联接”表,其中只有两列包含主表中的主键,而另一列充当另一表的外键,该表包含我不关心的更多数据。
加入PostgreSQL中的许多表将花费很长时间,不仅在执行阶段,而且在计划阶段。查询计划者在从所有相关表中提取统计信息时,需要考虑许多不同的候选计划。还有from_collapse_limit
和join_collapse_limit
-these limits (documentation)使查询计划者自行重新安排查询,但并不总是很理想。
在将数据发送给ElasticSearch之前,最好拉出数据并使用编程专业知识来消化数据。