어플리케이션에서 데이터를 3~5만개를 한번에 가져가면 부하가 있나요? 0 2 794

by 김쿠쿠 [2020.08.04 22:14:40]


안녕하세요.

업무를 보다가 궁금한 점이 있어서 여쭈어 봅니다.

 

대략 150만건 정도 데이터가 있는 테이블이 있는데,

조건에 따라 인덱싱 하여, 3~5만 여개의 데이터를 한번에 조회하는 기능이 있는데,

 

fullscan을 타거나 하는건 아니지만 데이터의 양이 많아 부하가 걸려 cpu사용률이 많이 치솟는다고 합니다.

개인적으로는 1회 3~5만개의 데이터 조회가 많은 양은 아니라고 생각이 드는데, 이정도면 많은 양인가요.?

 

이러한 문제를 개선하려면 조건을 더 추가하여, 쪼개서 조회하거나 limit을 쓰는게 좋을까요?

DB 서버의 scale up은 무리가 있을까요? mysql을 사용하고 있습니다.

 

고견을 부탁드려요.~~

by 아발란체 [2020.08.05 10:16:15]

고견 입장은 아니지만 OLTP 일반적 조회 범위를 벗어나는 데이터 양으로 보입니다.

해당 테이블이 빈번하게 사용되는데 일 기준 자주 3-5만 조회를 해야하는 상황이라면 분산을 검토해보는 것도 좋을 것 같습니다.

 

그리고 CPU가 긴시간 높은 점유율을 가진다면 hash 조인 힌트가 있는것인지.. 있다면 다른 조인으로 바꾸면 CPU 점유율은 낮아질 것 같습니다.

그런게 아니라면 조회도 말씀처럼 쪼개서 조회하는 것도 방법일 것 같습니다.

 

홧팅~


by 우리집아찌 [2020.08.05 11:04:16]

페이징 하지 않으신가요?

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