일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Envoy
- 와썹맨
- 김태강
- Python
- 기술적 채무
- 리스트의 리스트
- list of list
- technical debt
- 동적 프로그래밍
- mysql #numa #swap #memory
- 삼성인 아마조니언 되다
- 그거봤어?
- 프로그래머스
- minimum path sum
- 파이썬
- 알고리즘
- 트리
- LongestPalindromicSubstring
- No Rules Rules
- 삼성역량테스트
- 규칙없음
- Dynamic Programmin
- 블린이
- 독후감
- leetcode
- 나는 아마존에서 미래를 다녔다
- Unique Paths
- BFS
- 아마조니언
- 리트코드
- Today
- Total
목록전체 글 (53)
개발자가 되고 싶은 준개발자

사전에 테이블 락이 있는지 아래 쿼리를 통해 확인하고 쿼리를 수행해도 쿼리가 다른 트랜잭션에 밀려 실행이 안 되는 현상이 있었다. #테이블 락 확인 SHOW OPEN TABLE WHERE In_use > 0; 이럴 경우 오래 실행되고 있는 트랜잭션이 있는지, 메타데이터 락이 있는지 추가로 확인해보면 도움이 될 수 있다. #트랜잭션 확인 select * from information_schma.innodb_trx \G 보면 3월 1일부터 실행되었던 트랜잭션이 있다. kill 166941076(스레드 id)로 해당 스레드를 죽인다. 위 트랜잭션은 show processlist의 상단에서도 확인할 수 있었다. 죽이고 나니 원래 실행하려던 DDL 구문이 바로 실행되었다. #기타 확인해 볼 것: 메타데이터 락 확..
#디스크 접근 방식 Sequential Access mySQL은 디스크에 저장된 데이터에 접근할 때 페이지 단위로 접근한다. 페이지는 데이터를 검색하는 최소 단위이다. 물리적으로 인접한 페이지를 순차적으로 읽는 방식으로 보통 테이블 풀 스캔에 사용된다. 데이터를 찾고자 이동하는 디스크 헤더의 움직임을 최소화하여 작업 시간과 리소스 점유 비용을 줄일 수 있다. Randon Access 물리적으로 떨어진 페이지들에 임의로 접근하는 방식으로 페이지가 위치한 물리적인 위치를 고려하지 않고 접근한다. 디스크 헤더가 정해진 순서 없이 이동하므로 디스크의 물리적인 움직임이 많아 오래 걸린다. # 오브젝트 스캔 유형 테이블 풀 스캔 인덱스를 거치지 않고 테이블을 처음부터 끝까지 훑어보는 스캔 방식이다. 테이블 풀 스캔..
#가격 mysql은 community와 enterprise 버전이 있고, community 버전은 무료이다. 이에 비해 오라클은 가격이 비싸고 무료 버전이 없다. # 스토리지 오라클 DB는 통합된 스토리지 하나를 공유하여 사용하나 MySQL은 물리적인 DB 서버마다 독립적으로 스토리지를 할당하여 구성한다. 따라서 오라클은 공유 스토리지를 사용하므로 어느 DB 서버에 접속하여 SQL문을 수행하더라도 같은 결과를 출력한다. MySQL에서도 복제 구성을 통해 DB 여러 대가 같은 데이터를 갖도록 구성할 수 있다. 단 이 경우에는 대부분 master-slave 구조로 구축을 하기 때문에 쓰기 작업은 한 서버에서만 발생하고, 나머지 서버에서는 읽기 작업만 하는 구조를 갖는다. master-slave 구조로 구축할..