Search
3️⃣

OfferingMemberRepository

결론

기존에 생성되어 있는 인덱스(FK)로 충분히 사용 가능할 것이라 판단
offering에 참여할 때 해당 테이블에 delete/insert 연산이 필요(참여 취소, 참여)하므로 인덱스를 설정하지 않는 것이 유리 할 것이라고 판단

1. existsByOfferingAndMember

Hibernate: select id from offering_member where offering_id=? and member_id=? fetch first ? rows only
SQL
복사

인덱스 안 걸었을 때(offering_id만 기본으로 걸려있음)

인덱스 걸었을 때

→ 큰 차이가 나지 않음, idx_offering_id_member_id는 불필요하다고 생각, INSERT 하는 경우도 생각해야 했기 때문

2. findAllByOffering

Hibernate: select ome1_0.id, ome1_0.created_at, ome1_0.member_id, ome1_0.offering_id, ome1_0.role, ome1_0.updated_at from offering_member ome1_0 where ome1_0.offering_id=?
SQL
복사
인덱스를 따로 걸 필요 없음(이미 offering_id로 설정되어 있다)

3. findByOfferingAndMember

Hibernate: select ome1_0.id, ome1_0.created_at, ome1_0.member_id, ome1_0.offering_id, ome1_0.role, ome1_0.updated_at from offering_member ome1_0 where ome1_0.offering_id=? and ome1_0.member_id=?
SQL
복사
이미 인덱스가 걸려있는 상태
이미 offering_id를 사용하고 있어 따로 걸 필요가 없다.