CS/Data Base

인덱스의 중요성을 다시 한 번 느끼며..

hojak99 2020. 12. 16. 20:09

cpu 모니터링

 

몇 달 전 메인 기능이 배포되고, 실서비스에서 동작이 잘 되고 있어서 신경 쓰지 않고 다른 피처를 개발하고 있었다.

그 기능을 얘기하면 사용자의 로그를 쌓아서 그 로그를 기반으로 어떤 추천을 해주는 그런 기능이었다.

그 로그가 이제 유저당 몇 만개씩 쌓이게 되었고, 클라이언트에서 해당 기능에 대한 api 를 요청하게 될 때 timeout 이 발생하는 경우가 생겼다.

확인해보니 코드 상에서는 문제가 전혀 없었고 단순 select 하는 쿼리에서 이 쿼리가 이렇게 느리다고? 할 정도였다.

그리고 확인해보니 특정 컬럼에 인덱스가 걸려있지 않았었다. 흑흑. 테이블 만들 때 잊고 만들었었던 것 같다.


긍정적으로 생각하면, 평소에 인덱스 공부할 때 중요하다 중요하다 할 때는 그냥 중요하다~ 라고 생각이 들었는데 
실제로 인덱스로 인한 성능 향상을 눈으로 직접 보니 더 와 닿는 것 같아서 나중에는 절대 잊지 않을 것 같다.

해당 인스턴스 레벨도 꽤 좋은데 말이다.. 그만큼 중요하다는 뜻이겠지..

반응형