SKIP LOCKED 부분에서 INNER JOIN이 아니고 LEFT JOIN이 걸릴수 있다면
예제에서는 WHERE 절 때문에 LEFT JOIN이 INNER JOIN으로 최적화되는 것으로 알고 있지만 만약에 LEFT JOIN으로 걸릴 수 있는 쿼리라면 SKIP LOCKED 의 잠금 경합의 결과가 달라질 수도 있나요?
답변 1
0
안녕하세요.
궁금하신 부분이 강의에 나와있는 예제는 INNER JOIN이 사용된 쿼리이지만, LEFT JOIN을 사용하는 쿼리에서는 SKIP LOCKED가 어떻게 동작하는건지 그 부분이 궁금하신거 맞을까요?
0
안녕하세요.
이 부분은 사실 JOIN 유형에 따라 잠금 경합의 결과가 달라진다기보다는 쿼리가 어떻게 처리되고, 어떤 쿼리들이 함께 사용되느냐에 따라 달라진다고 볼 수 있을 것 같아요.
그래서 사용하실 예정인 쿼리로 직접 테스트해보면서 잠금 경합을 확인하시는 것이 좋아보입니다.
잠금 경합을 최소화할 수 있도록 쿼리에 맞는 적절한 인덱스를 생성한 상태에서, 발생할 수 있는 쿼리 사용 시나리오를 작성해보시고 잠금 경합 유무를 한번 확인해보시면 될 것 같아요.
MySQL 서버에 performance_schema 기능이 활성화돼있는 경우 performance_schema.data_locks 테이블을 조회하면 쿼리에서 어떤 데이터에 대해 어떤 잠금을 수행하고 있는지도 확인하실 수 있습니다. 테스트하시면서 이 부분도 같이 살펴보시면 좋을 것 같아 말씀드려봅니다.
-- // performance_schema 활성화 여부 확인
mysql> show global variables like 'performance_schema';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| performance_schema | ON |
+--------------------+-------+혹시 추가로 더 궁금한 부분 있으시면 편하게 말씀해주세요.
감사합니다.
36강 오탈자가 있는 거 같습니다.
0
4
1
Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문
0
7
1
간단한 오타 제보입니다.
0
3
0
2강 nodejs 3단계 설명 질문
0
14
1
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
19
1
실제 FK제약조건을 설정하지 않는이유
0
19
1
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
21
2
Sequence 관련 질문
1
26
2
Image Only Query
1
24
2
라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항
0
29
2
unique index가 걸린 상황에서 s-lock, x-lock 질문
0
508
2
질문드립니다.
0
250
1
Real MySQL 시즌1 part 2 에피소드 16의 인덱스가 null인 컬럼을 포함한다는 것에 대한 질문
0
170
1
시퀸셜하게 증가하지 않는 PK의 insert성능도 문제가 있을까요?
0
222
2
파티셔닝의 자원 사용 효율 증가 관련 질문
1
646
2
INSERT에서 shared lock을 거는 이유 질문
1
434
3
안녕하세요. 인덱스 관련 질문 있습니다.
0
371
2
테이블이 1:N 구조에서 N쪽 테이블에 유니크 제약조건에 의한 오류발생 회피 방법이 뭘까요?
0
263
1
복합 인덱스의 컬럼중 선행 컬럼을 조건에서 누락해도 인덱스가 사용될 수도 있나요?
0
240
1
단일 인덱스 크기, 전체 인덱스 크기 구하는 계산식
0
236
2
primary key에 시간, uuid로 복합키로 설정하는 경우
0
325
2
에피소드 21에 궁금한 점이 있어 질문드립니다.
0
233
2
에피소드 17번에서 skip locked 질문이 있습니다.
0
267
1
Real MySQL 시즌 1 - Part 1 or Part2 영상에 나오는 자료 공유 가능하나요?
1
364
1





