본문 바로가기

Database

(2)
무한 스크롤링을 이용하여 성능 개선하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 기존 리스트에 무한 스크롤링 방식을 추가하여 성능을 개선한 사례를 소개해드리려고 합니다. 🐤 기존 로직 SELECT * FROM 테이블 WHERE 검색조건 ORDER BY id 기존에 리스트를 가져올 때는 SELECT 된 결괐값들을 모두 가져와서 리스트에 담아서 View 단에서 반복문을 돌려서 뿌리는 방법을 사용하곤 했습니다. 위 사진과 같이 조회한 결괏값이 51,000개가 나오면 51,000개의 결괏값이 모두 리스트에 담겨 뷰에서 51,000개를 반복을 돌리곤 했죠. 그런데 ... 너무 느렸습니다! 안 그래도 하루에 많은 양의 데이터가 쌓이는데 단순 로그성 데이터들을 보려고 몇 초나 기다려야 하는 것은 정말 고된 기다림이였습니다 ... 😱 그래서 어떻게하면 성..
데이터베이스의 트랜잭션(Database Transaction) 트랜잭션이란?(Transaction) 처음부터 끝까지 아무 이상없이 모든 작업이 끝나야만 성공하는 작업이 있다. 예를들어 카페에서 음료를 살 때의 상황을 예로 들어보자면 카페에서 주문을 할 수 있는 차례가 될 때 까지 기다린다. 메뉴를 선택한다. 직원에게 돈을 지불한다. 주문 완료 위의 4가지의 과정을 모두 마쳐야한다. 만약 여기서 한 과정이라도 빠지게 되면 정상적으로 주문을 했다고 볼 수 없다. 이처럼 한꺼번에 실행되어야하는 일련의 과정을 트랜잭션이라고 한다. 모두 완료하면 COMMIT, 하나가 실패하면 취소되는 ROLLBACK이라고 한다. COMMIT한 경우에는 작업 결과가 데이터베이스에 반영이 된다. ROLLBACK한 경우에는 작업이 모두 취소되어 데이터베이스에 영향을 끼치지 않는다. 트랜잭션의 성..