mysql 4

MySQL Isolation Level 정리

MySQL Isolation level은 동시성 제어를 위한 설정 값으로, 동시에 실행되는 여러 트랜잭션 간에 데이터 일관성을 유지하기 위해 사용된다. 값에 따라서 다른 트랜잭션에서 commit을 했더라도 볼 수 있을수도 있고, 없을 수도 있다. Isolation Level을 설정할 때 고려해야 할 점은 데이터 일관성과 성능 사이의 트레이드오프다. Isolation Level이 높을수록 데이터 일관성은 유지되지만 성능이 저하된다. 반면에 Isolation Level이 낮을수록 성능은 좋아지지만 데이터 일관성이 보장되지 않는다. 따라서, 요구사항에 따라서 적절한 Isolation Level을 선택하는 것이 중요하다. 값의 종류는 아래와 같이 4가지로 나누어져 있다. Read Uncommitted Read ..

MySQL kill 명령어 (프로세스 kill하기)

MySQL kill 명령어 KILL [CONNECTION | QUERY] processlist_id MySQL kill command는 실행 중인 쿼리 or 커넥션을 종료시기키 위해 사용되는 명령어입니다. 주로 문제를 발생시킬 수 있는 long query를 show full processlist 명령어로 찾은 후 종료시킬 때 사용됩니다. 주로 모니터링 및 장애시 사용되는 커맨드입니다. MySQL kill 명령어 옵션 및 권한 KILL명령어의 옵션에는 CONNECTION 또는 QUERY가 있다. KILL CONNECTION은 수식어가 없는 KILL과 같다. 이것은 connection에서 실행중인 statement를 종료시킨 후에 proocess_id에 해당하는 connection를 종료시킨다. KILL Q..

같은 Django model class에서 다른 schema가?(feat. Django는 이중인격?)

(Update) Django에 해당 bug를 repoorting하고, PR을 올려서 merge되었습니다! https://github.com/django/django/pull/13982 Fixed #32425 -- Fixed adding nullable field with default on MySQL. by baidoosik · Pull Request #13982 · django/django ticket link: https://code.djangoproject.com/ticket/32425#ticket Hi, team. I wanna fix some picky issue. I suggest below code for solving this problem. (same code creates differe..

MySQL InnoDB History란?

Introduction (시작 전에 이 글은 MySQL 5.6 기준의 글입니다.) 왜 Innodb History에 대해서 알아야 할까요? 1. InnoDB의 MVCC의 동작 원리에 대해 이해하려면 History에 대한 이해가 필요합니다. 2. History List Length가 길어지면 많은 문제들이 발생합니다. (CPU Peak, DML delay) 3. 왜 DBA들이 hung transaction이나 long query를 모니터링하고, Kill 하는지 알 수 있습니다. (커뮤니케이션) MVCC (Multi Version Concurrency Control) 본격적으로 InnoDB History를 살펴보기 앞서 MVCC에 대해서 먼저 간략하게 설명하고 넘어가겠습니다. MVCC를 먼저 설명하는 이유는 ..

반응형