일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 밑바닥부터 구현하는 컴퓨팅 시스템
- 도커
- InnoDB
- MySQL
- 필수 스크립트
- 운용 시 유용한 쿼리
- nandtotetris
- ec2
- s3 sync
- mysql 아키텍쳐
- performance스키마
- innodb 버퍼풀
- 리눅스
- 마운트
- sessionManager
- S3 private통신
- mysql 구조
- 어뎁티브 해시 인덱스
- SessionManager 터널링
- dff
- x lock s lock
- 온라인 ddl
- 밑바닥부터 만드는 운영체제
- Terraform
- s3
- innodb구조
- 안전하게 테이블 변경
- BastianHost
- ix is lock
- mysql 엔진
- Today
- Total
목록InnoDB (2)
이것이 점프 투 공작소
웹서비스를 개발하다 보면 실제 운영서버에 반영하기 전에 만들어둔 쿼리에 대한 테스트 및 성능확인이 필요합니다.주로 EXPLAIN 명령어를 통해 쿼리의 성능을 평가했는데, 그냥 인덱스를 잘 타는구나~ 이 정도만 확인했던 기억이 있습니다. 그래서 옵티마이저가 인덱스를 어떻게 확인해서 쿼리에 적용하는지 더 나은 인덱스를 태우려면 어떻게 해야하는지 궁금해서MySQL 옵티마이저에 대해 공부 및 정리해보려고 합니다.(Real MySQL을 보고 공부한 내용을 다룹니다.)쿼리의 실행 절차1. SQL 파싱사용자로 부터 쿼리요청이 들어오면 'SQL 파서 모듈'에서 문장을 적절하게 쪼개어 MySQL서버가 이해할 수 있는 수준으로 분리합니다.(파싱 트리 작업)2. 최적화 및 실행계획 수립 (옵티마이저 일하는 단계)파싱 트리 ..
요즘 APM을 만드려고 하다보니 오픈소스의 아키텍쳐에 대한 관심이 높아져서Real MySQL을 보고 공부한 InnoDB의 아키텍쳐를 정리해보고자 합니다.책에서 언급하는 8.0이하에서 발생한 이슈들이나 정보들은 정리하지 않았습니다. InnoDB 아키텍쳐레코드 기반 Lock을 제공하기에 높은 동시성 처리가 가능하며 안정적인 엔진입니다.MySQL에서 기본적으로 사용하는 스토리지 엔진입니다. InnoDB의 특징primary key에 의한 클러스터링InnoDB에 저장되는 테이블 레코드들은 기본적으로 pk에 의해 클러스터링 되어 pk값 순서대로 저장됩니다.그렇기에 pk를 이용한 레인지 스캔은 빠른 속도로 처리 될 수 있습니다.또한 세컨더리 인덱스는 레코드의 실제 주소가 아닌 pk의 값을 논리적인 주소로 사용해서 ..