특정 구간에서 select 쿼리가 느려질수가 있나요? 0 2 1,715

by 벌댕 [DB 기타] PostgreSQL DB select 속도 [2022.05.17 10:19:37]


안녕하세요 현재 PostgreSQl로 쿼리를 만들고 있습니다.

테이블 2개를 join해서 1~6000000(약600만)건을 select한뒤 java를 활용해서가공된 값으로 insert하는 작업을 하고있습니다.

한번에 모든 정보를 조회하긴 힘드니 5만건 단위로 자동 반복하게 진행하고 있는데요

ex) 1~50000건 진행후 50001~100000건 진행 (무한반복)

4650000건까지는 잘 진행이 되었는데 4650001~4700000건 로드가 엄청 오래걸립니다.(돌고있긴한데.. 진행이 안되더군요..)

혹시 몰라서 DB툴로 저 쿼리를 조회해도 오래 걸리는건 마찬가지고, 혹시 몰라서 count로 그 구간의 데이터 건수를 조회했는데 정상적으로 5만건이 나옵니다

DB 공간이 부족한가 확인하고 로컬 메모리가 부족한가 확인하고 아무리 봐도 이유를 잘 모르겠어서 이렇게 질문 드립니다

이렇게 특정 부분에서만 데이터 조회가 느려질수가 있나요?

 

select
컬럼들...
form 테이블_1
left outer join 테이블_2
on 테이블_1.rpt_seq = 테이블_2.orign_ctrl_no
where 4650001 <= 테이블_1.row_num and 테이블_1.row_num < 4700001
--where 테이블_1.row_num between  4650001  and  4700001

 

테이블_1 (약600만건)

테이블_2 (약25만건)

1대다 구조입니다..

by 우리집아찌 [2022.05.17 13:05:25]

PostgreSQl 는 아니고 sql-server 에서 비슷한일이 있었는데.

SELECT시 특정 로우 하나가 걸리면 먹통 되더군요.

결국 야간에 테이블 그대로 복사후 RENAME 해서 해결했었습니다.

 


by 벌댕 [2022.05.17 13:34:00]

진짜 도저히 답이 안보여서 개발서버에 테이블 복사중인데

이제 절반 넘어왔네요 답변 주셔서 감사합니다

-------------------------------------

개발DB로 옮기고 진행하는데 다행히 정상적으로 작동하네요

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입