在 EC2 实例上运行大型 psql 查询时遇到问题

问题描述 投票:0回答:1

我有 psql 查询,它一次获取一个键并不断更新表中的其他记录。 像下面这样

DO $$ 
DECLARE 
    i INT;
BEGIN
    FOR i IN 1..10 LOOP
        -- here we have 27 query's to run (insert, delete, update)
        -- Update multiple rows for key(i)
        -- each query takes near about 30 min to run it might because of large data (500GB)
        -- we are doing commit after each query to release memory (let us know is this best way to do       this)

    END LOOP;
END $$;

问题是在运行此查询时,有时查询会卡住,但在 pgAdmin 上它显示正在运行,如何处理此问题。

  1. 在每次查询后尝试提交以释放内存
  2. 运行单独的查询会给出正确的响应
  3. 添加索引以获得更好的性能
postgresql amazon-web-services amazon-ec2 pgadmin
1个回答
0
投票

这可能是一个很难通过 Stackoverflow 进行故障排除的问题。但是,如果单个查询工作没有任何问题,我建议将查询中的循环提取到执行查询的代码中,以便单独执行每个查询。

© www.soinside.com 2019 - 2024. All rights reserved.