백엔드 페이지 속도 개선

갓수·2023년 8월 30일
0

비지니스 로직 변환

  • 오래된 시스템의 경우 필요없는 비지니스 로직이 존재한다.
    해당 비지니스 로직을 단순화 하거나 줄여준다면 페이지 속도를 개선할 수 있다.

쿼리 개선

  • SELECT 할때는 필요한 컬럼만
    당연한 이야기지만 많은 필드 값을 불러올 수록 느려진다.

  • LIKE 사용시 %을 String 앞에 배치하지 않는다.
    Index를 활용할 수 있는 IN()과는 다르게 LIKE %...은 FULL SCAN을 진행한다.

  • 인덱스 (Index) 사용하기
    인덱스를 사용하면 FULL SCAN하지 않고 인덱싱 되어있는 파일을 스캔하여 속도가 빠름

  • 조건을 걸때 별도의 연산을 걸지 않기
    Where 조건절에는 연산함수를 걸지 않는다.

  • SELECT DISTINCT, UNION DISTINCT 같은 중복 제거 연산 사용하지 않기
    중복값을 제거하는 연산은 시간이 많이 걸림

  • ORDER BY는 연산 중간에 사용하지 않기

리소스 크기 줄이기

  • 화면에 표시되는 이미지 영역보다 큰 사이즈의 이미지는 리소스 낭비
    이미지를 서버에 저장할 때 여러 사이즈의 이미지로 리사이징하여 저장함
    화면 표시 크기에 맞는 사이즈의 이미지 리소스를 불러옴

  • 사용하지 않는 css나 Javascript를 제거하기
    개발을 진행하면서 해당 부분을 관리하지 않으면 추후에 제거하기 힘들어짐
    각 페이지별로 css나 js를 적용하는것이 아니라 공통된 모듈형태로 적용시키기

profile
중요한건 꺾이지 않는 마음

0개의 댓글