Josh 성장일기
article thumbnail
Lock 과 Index
DB/MySQL 2024. 8. 12. 15:05

이번 MySQL 개인공부를 진행하다가 기록하고 싶은 부분이 있어서 블로그 글에 남깁니다!! 바로 Lock 과 Index 에 대하여 기록을 남길 생각인데요 개인 공부를 진행하다가 MySQL 에서 잠금은 ROW가 아닌 Index를 잠근다 라는 사실을 알게되었습니다. 한마디로, Index 에 따라서 잠금의 범위가 달라지게된다는 말이였습니다.Query 의 WHERE절에서 Index가 적용되지 않는 컬럼으로 Lock을 잡으려고 할 때 제가 생각했던것과 다르게 불필요한 Row 들에 잠금이 발생할수 있는것입니다. 그러면 Index의 설정이 굉장히 중요하겠죠..(잘못쓰면 큰일..)  현재 MEMBER 테이블은 기본키인 SEQ 컬럼과 TEAM_SEQ 컬럼에 INDEX 가 걸려있습니다.SELECT * FROM MEMBER..

article thumbnail
JOIN 에서 WHERE절과 ON절의 차이
DB/MySQL 2024. 1. 30. 13:54

초보개발자의 공부정리, 생각정리 블로그로써 잘못된점이 있다면 알려주시면 감사하겠습니다!! 업무를 진행하면서 SQL 이 많이 부족했던 저로써 현업으로 일을 시작한지 별로 되지 않았을 때 알게된 OUTER JOIN시 WHERE절 조건과 ON절 조건문의 차이점을 정리해보려고 합니다. 먼저 쿼리를 직접보면서 이해하기 위해 TEAM 테이블과 MEMBER 테이블을 생성하겠습니다. TEAM에 5개 row 를 insert 하고 MEMBER 테이블에는 각 팀에 2 row 씩 member 데이터를 insert 하겠습니다. 위 2개의 테이블을 먼저 on조건절을 활용하여 team_id 가 2인 멤버들만 outer join 해보겠습니다. 위의 데이터의 결과 처럼 on 조건절을 사용한 경우 left join의 영향으로 모든 me..

IN, EXISTS 의 차이
DB/MySQL 2023. 7. 25. 14:14

- 초보개발자로써 혼자서 공부한 내용을 정리삼아 블로그에 작성하니 잘못된 점 바로잡아주시면 감사하겠습니다! - 이번 업무중에 join을 활용하여 데이터를 가져오는 SQL을 작성하던 중 사수님께서 공부로 JOIN을 사용하지 않고 IN, EXISTS 을 사용하여 SQL 을 작성해보라는 말씀을 하여 기록을 남기기 위해 글을 작성합니다. IN 과 EXISTS IN - 실행순서 : EXISTS 쿼리 -> 메인쿼리 순서 - 집합 내부에 값이 존재하는지 여부 확인 - 존재하는 데이터값을 비교하기 때문에 EXISTS 절보다 속도가 느림 WHERE 메인쿼리테이블의 컬럼명 IN(SELECT 컬럼명 FROM 테이블 WHERE 조건절) 위와 같은 형태로 작성하고 설명하자면 서브쿼리 데이터들중에 메인쿼리 테이블의 데이터에서 존..

검색 태그