인프런 커뮤니티 질문&답변

광전사님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)

[실습] 유저 이름으로 특정 기간에 작성된 글 검색하는 SQL문 튜닝하기

created_at 에 index 거는것과 지속적인 데이터 증가

해결된 질문

24.08.06 12:18 작성

·

102

·

수정됨

0

안녕하세요, 좋은 강의 감사합니다.

 

created_at 에 index 를 걸어서 order by 와 같은 문제를 해결하는 것을 보았는데요, 데이터가 지속적으로 증가하고 밀리초 단위로 들어오는 created_at 이 있다면, 이것들을 모두 다 인덱스로 걸어도 괜찮은건가요?? 데이터가 계속 커지면 어떻게 처리하나요??

답변 2

1

광전사님의 프로필 이미지
광전사
질문자

2024. 08. 06. 15:16

아 그렇군요. 쓰기 성능을 고려해야하네요. 감사합니다!

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

2024. 08. 06. 14:20

안녕하세요 광전사님! 추가로 질문 주셨군요👍👍

 

created_at 컬럼에 인덱스를 걸면 데이터 조회 성능은 향상되나,

인덱스의 특성상 쓰기 작업의 성능은 떨어지게 됩니다.

 

말씀해주신 상황인 밀리초 단위로 created_at의 컬럼에 데이터가 쌓인다고 가정해보겠습니다.

이 경우에는 인덱스를 적용하지 않는 방안도 고려를 해볼 것 같긴 합니다.

하지만 조회 성능의 보장을 위해 인덱스를 적용해야만 하는 상황이라면,

쓰기 작업을 몰아서 처리하는 Batch와 같은 방식으로 처리하곤 합니다!

 

이 외로 궁금하신 점 생기시면 또 질문 남겨주세요~~