페이징 성능 개선하기 - No Offset, Covering Index, Non Clustered Index 사용
개요 현재 진행하고 있는 프로젝트에 단어 테스트 결과 목록 조회는 무한 스크롤 방식으로 구현할 예정이기 때문에 페이지가 뒤로 갈수록 느려지는 기존 페이징 방식 대신 아무리 페이지가 뒤로 가더라도 처음 페이지를 읽는 것과 같은 No Offset 방식을 사용하게 되었습니다. 단어 테스트 결과 목록 조회를 하기 위한 VocabularyTest, User, VocabularyLearning 테이블에 각 1,000,000개의 임의 데이터를 저장 후 테스트를 진행하였습니다. Before 코드 /* Controller */ @GetMapping("/admin/vocabulary-book/test/result/list") public ResponseEntity vocabularyTestResultLists(Authen..
2024.01.16