Golang 변경사항 *

개선된 Limit 사용 방식

1. 기존 방식 : Limit와 IsntPagination

기존의 백엔드 설계 방식에서는 모든 데이터를 가져오기 위해 다음과 같이 설계되었습니다

하지만 이러한 접근 방식은 다음과 같은 문제가 있었습니다

2. 개선된 방식

IsntPagination ListType1 파라미터 옵션을 제거하고, Limit = 0으로 설정하면 모든 데이터를 한 번에 가져오도록 설계되었습니다.

 (Limit > 500 이상이면 0으로 처리됩니다)

개선 내용 :


3. Query File에서의 Limit 사용

페이징 처리가 필요한 경우만 쿼리 파일에 LIMITOFFSET을 명시적으로 설정하면 됩니다. (페이징 처리가 불필요할 경우 안넣어줘도 됩니다)

SELECT
    mx.id as id,
    turbo_thumb as c1,
    item_name as c2,
    item_slug as c3
FROM dbr_item as mx
    INNER JOIN dbr_igroup as mb ON mx.igroup_id = mb.id
-- @where
limit 1

LIMIT은 반환해야 하는 데이터의 시작 위치(OFFSET)와 개수를 계산하기 때문에 추가적인 연산 작업이 발생하기 때문에 쿼리 속도가 늦어집니다.