我正在对大型PSQL数据库运行查询,以便对结果进行一些解析,但我对它的速度有问题。选择查询如下:
SELECT cycle_id, description FROM cycle, term WHERE cycle_id =
term_id AND cycle.date IS NULL
UNION ALL
SELECT cycle_id, description FROM cycle, sect WHERE cycle_id =
sect_id AND cycle.date IS NULL
UNION ALL
SELECT cycle_id, description FROM cycle, quart WHERE cycle_id =
quart_id AND cycle.date IS NULL
ResultSet包含大约2500万行,其默认的psql提取大小溢出了java堆空间。
我想知道是否有人可以帮助我找出此查询的最佳提取大小(我的堆空间有119 MB可用)以及可以减少此选择的运行时的任何其他优化。我曾尝试使用限制/偏移来一次选择数据位,但无济于事,程序运行时间太长。任何人都可以帮我解决这个问题吗?谢谢!