결론
•
기존에 생성되어 있는 인덱스(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를 사용하고 있어 따로 걸 필요가 없다.









