대용량 데이터 조회 최적화 방법 0 5 2,244

by 겸둥이k [SQL Query] 인덱스 쿼리 최적화 [2021.08.25 13:28:27]


안녕하세요. 프로젝트하면서 대용량 데이터 쿼리를 최적화중에있습니다. 

천만건 기준으로 몇백,억 단위를 조인걸때 인덱스로만 걸기에는 속도가 한계가 있는거같습니다.

보통 이런대용량 데이터를 인덱스로만 해서 속도가 나올 수 있나요? 제가 잘못 걸어서그런건지?  -> 최적화할 방법이 있으면 알려주시면 감사하겠습니다.

 

제가 지금까지 해본건 1.파티셔닝 , 2.잡처리해서 조회테이블을 만들어 특정시간마다  조회하는 방식 이있습니다.

 

 

by 우리집아찌 [2021.08.27 14:31:23]

파티셔닝을 추천합니다만 경우에 따라서 해당되는 sql을 전부 수정할 필요도 생깁니다


by 축구쟁이 [2021.08.27 15:37:30]

말씀하신 2가지 방법 모두 도움이 되는 부분이지만 그럼에도 느리다면 실행계획에 대한 분석이 필요합니다.

어떤 조인으로 실행되는지, 조인 성능에 영향이 가는 데이터 row가 몇개인지, 인덱스를 타더라도 random access가 얼마나 발생하는지 등등

실행계획 내에서 비용이 높은 부분을 찾아 튜닝하는 방향으로 진행하신다면 원하시는 결과를 얻지 않을까 생각됩니다.


by 겸둥이k [2021.08.30 14:05:19]

답변감사합니다. 

말씀하신방법대로 해도 안된다면 테이블 구조적 문제일까요?


by 축구쟁이 [2021.08.30 17:10:50]

쿼리가 느린 이유는 명확히 존재합니다.

다만 그 부분을 어떻게 해소할지에 대해서는 수학 공식처럼 정답이 있는 것은 아니기 때문에 정확한 원인 분석이 되어야 문제 해결을 할 수 있습니다.

말씀하신 것처럼 테이블 구조적 문제일수도 있고 일의 프로세스가 문제일수도 있습니다.

좀 더 자세한 도움이 필요하시다면 파악되신 원인을 이곳에 공유하셔서 많은 분들의 해결방안을 들어보시는 것이 좋지 않을까 생각됩니다.


by 마농 [2021.08.30 19:10:00]

질문은 추상적이고.
결론은 성급합니다.

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