전체 글 (26) 썸네일형 리스트형 [StudyHub] 성능 관점에서 확인해본 조회 쿼리문 서론 RealMySQL 8.0을 읽으면서 프로젝트에서 작성한 대부분의 쿼리문들이 성능을 염두해두지 않고 작성했다는 것을 알았다. 지금은 데이터 수가 적기 때문에 괜찮지만 추후 데이터 수가 많아졌을 때를 대비해 성능도 올릴겸, 책도 복습할겸 해서 성능 개선 여지가 있는 쿼리문을 확인해보겠다. LIKE @Override public List findByInquiry(final InquiryRequest inquiryRequest, final Pageable pageable, Long userId) { JPAQuery data = jpaQueryFactory .select(Projections.constructor(PostDataByInquiry.class, studyPostEntity.id.as("postI.. [StudyHub] 다중 칼럼 인덱스를 이용한 조회 성능 개선 서론 8만건의 데이터를 조회할 때 평균 95ms의 성능이 나왔기때문에 개선해보고자 한다. 개선하려는 쿼리문은 아래와 같다. SELECT p.post_id, p.major, p.study_start_date, p.study_end_date, u.email, u.image_url FROM post as p LEFT JOIN users as u on p.posted_user_id = u.user_id ORDER BY p.remaining_seat asc, p.created_date desc LIMIT 10 offset 5; 검색 조건은 로그인을 하지 않은 상태로 인기순, 생성날짜(나중에 생성한 날짜가 우선)로 정렬한 전체 데이터를 5 페이지 기준 상위 10개의 데이터를 가져오는 조건이다. 성능 테스트 테이블마.. 멀티 프로세스 환경 DB 동시성 제어 서론 현재 진행중인 StudyHub 프로젝트를 2월말 출시한 뒤 사용자 유치를 위해 이벤트를 계획하고 있었다. 이벤트 순서는 다음과 같다. 1. 이벤트 시간이되면 회원이 홈 화면에 있는 이벤트 참여 버튼을 누른다. 2. GiftStock 테이블의 StarBucks를 GiftName으로 가지는 튜플을 조회해 재고가 남아있는지 확인한다. 3. 재고가 남아있지 않을 경우 요청을 예외처리하고, 재고가 남아있을 경우 재고의 개수를 (남아있는 재고 - 1) 로 update 한다. 4. Gift 테이블에 회원과 선물 정보를 insert 한다. @Transactional public GiftStock register() { GiftStock giftStock = giftStockRepository.findByGiftN.. 이전 1 ··· 4 5 6 7 8 9 다음 목록 더보기