부트캠프

[항해99 취업 리부트 코스 학습일지] 성능 최적화와 동시성 제어

잼추 2024. 5. 24. 22:09

1. 쿼리 최적화

쿼리 최적화는 데이터베이스 응답 시간을 줄이고, 시스템 자원 사용을 최소화하는 기법입니다. SQL 쿼리를 최적화하는 방법 중 하나는 필요한 데이터만 선택하는 것입니다.

  • 좌변 연산하지 않기
  • 필요한 row와 column만 select
  • or 보다 각자 조회 후 union 사용
  • 분석 함수를 활용하여 쿼리 성능 높이기
  • 문자열 앞에 와일드카드(%) 사용 자제

 

2. 인덱싱

데이터베이스에서 인덱싱은 검색 성능을 향상시키기 위해 사용됩니다. 적절한 인덱스는 쿼리 성능 개선 가능

 

 

3. 캐싱 처리

캐싱은 자주 사용되는 데이터나 결과를 미리 저장해 두고 빠르게 접근할 수 있게 하는 기법입니다. 이는 데이터베이스 부하를 줄이고 응답 시간을 단축시킵니다.

  • 메모리 내 캐시 사용하기: 빠른 속도가 필요할때 redis나 Memcached를 사용, 메모리에 데이터 저장
  • 데이터베이스 캐시 사용: 복잡한 DB의 결과를 저장해두고, 같은 요청이 들어오면 결과 제공

 

4. 동시성 제어

동시성 제어는 여러 사용자나 프로세스가 동시에 데이터에 접근할 때 발생할 수 있는 충돌을 방지하기 위해 사용됩니다. 이는 데이터의 일관성과 무결성을 유지하는 데 중요합니다.

  • locking : 단일 스레드, 단일 프로세스에서만 작동, 한번에 하나의 스레드만 공유자원에 엑세스 가능
  • MVCC(Multi-Version Voncurrency Control: 각 transaction이 데이터를 읽거나 수정할때 해당 데이터의 새로운 버전을 만들어 관리


 

https://hanghae99.spartacodingclub.kr/reboot

 

IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지

항해99는 실무에 집중합니다. 최단기간에 개발자로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.

hanghae99.spartacodingclub.kr