Mysql 속도 질문 0 1 424

by 슈비 [MySQL] [2020.04.02 17:00:21]


제목 없음-4.jpg (208,796Bytes)

안녕하세요. DB초보입니다.

설명을 잘 못하는 편이라, 질문을 이해하시기 어려울 수 있습니다. ㅠㅠ

 

질문 1.
Char_Inven 테이블에 UID는 Index로, UserMain테이블 UID컬럼의 FK로 잡혀있습니다.
CharID 컬럼이 지금은 Unique로 인덱스가 설정되어있는데, 이걸 PK로 바꿨을경우,
UserMain 테이블과 Char_Inven 테이블을 Join 하여 셀렉할때(FK 기준 Where) 속도가 Unique일때보다 느려지게 될까요?

질문 2.
Char_Inven 테이블에 약 1000만건 정도 들어있을때,
CharID가 일치하는 20개행을 삭제하려 합니다. (CharID는 고유값으로 where  In (...) 으로 삭제하려합니다)
이때 Join(FK기준 Where)을 통한 삭제랑,
Join 없이 CharID 기준으로만 삭제 중 어떤게 더 나을까요? (CharID는 PK일 경우)

by 마농 [2020.04.03 10:11:41]

이미 유니크 인덱스가 있었으므로 PK 를 생성해도 조회가 느려지진 않을 듯 하네요.
다만 1000만건이면 PK 를 생성하는데 시간이 걸리지 않을까?  생각됩니다.
조인을 하면 안하는것보단 느리겠죠.
그리고 조인 안할 때 조건(CharID)과 조인 할 때 조건(UID)이 다르네요?
조건이 다르므로 서로 다른 쿼리인데 성능 비교할 필요가 있는지?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입