Mysql
MyISAM, MEMORY 엔진의 잠금
NaHyungMin
2018. 10. 12. 18:39
MyISAM, MEMORY 엔진의 잠금
- 자체적인 잠금이 존재하지 않고, MySQL의 테이블 락을 그대로 사용
- 쿼리 단위로 락을 걸기 때문에 데드락이 발생하지 않는다.
- InnoDB를 제외한 대부분이 테이블 락 사용
- 잠금 튜닝
1. SHOW STATUS LIKE 'Table%';
1 2 3 4 | show status like 'table%'; #잠금 비율 = (Table_locks_waited / (Table_locks_immediate + Table_locks_waited)) * 100; select (2106 / (37906461 + 2106)) * 100; | cs |
2. 수치가 높을 경우, InnoDB로 변환하는 것을 고려
- 테이블 수준의 잠금 확인 및 해제
1. Lock을 걸고 오류가 나거나 하면 unlock으로 풀어줘야 한다.
2. show processlist를 통해 현재 테이블 락 상태를 확인 할 수 있음