-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
SQL 쿼리문 성능 질문
22.08.06 18:42 작성 조회수 126
0
선생님 sql 쿼리 순서가 join, where 순서라서
where보다 가능하다면 join으로 걸러주는게 성능상 더 좋다고 알고있습니다.
우선 위 생각이 맞는지 궁금하고
만약 아래 join문에서 모든 컬럼들이 인덱싱 되어 있다고 가정하고
SELECT COUNT(c.createdAt) AS unReads, c.RoomId AS RoomId FROM $chatTableName c
LEFT JOIN $chatReadersTableName cr ON
// 이렇게 특정한 고정값이 있다면 이것을 앞에 넣는게 성능상 좋을까요?
cr.UserId = {특정한 고정값} AND cr.ChatRoomId = c.RoomId AND cr.ChatCreatedAt = c.createdAt
// 아니면 이렇게 연계키로 매핑먼저 시켜준다음 걸러주는게 성능상 좋을까요?
cr.ChatRoomId = c.RoomId AND cr.ChatCreatedAt = c.createdAt AND cr.UserId = {특정한 고정값}
WHERE cr.ChatCreatedAt IS NULL
GROUP BY c.RoomId;
둘의 결과가 똑같은 것 같은데 성능상 뭐가 더 좋을지 조언을 듣고싶어 질문드립니다!
답변을 작성해보세요.
1
답변 1