리마인드용으로 작성함! PK 인덱스와 세컨더리 인덱스의 구조 B-Tree PK 인덱스와 세컨더리 인덱스 모두 루트 노드 > 브랜치 노드 > 리프 노드의 구조를 갖는 것은 동일하다. 또한, PK 인덱스와 세컨더리 인덱스 모두 루트 노드 또는 브랜치 노드는 자식 노드의 주소를 갖는다. 그러나 세컨더리 인덱스는 리프 노드에서 관리되는 인덱스의 값(value)이 프라이머리 키를 가리키는 반면, PK 인덱스에서는 리프 노드에 실제 레코드가 저장된다. 참고. InnoDB 에서의 데이터 파일 기본적으로 MySQL의 스토리지 엔진 중 InnoDB 에서는 PK 인덱스가 데이터 파일의 역할을 수행하며, PK 인덱스 자체가 데이터 파일이다. 이는 MyISAM 엔진에서는 데이터 파일에 실제 레코드가 저장되는 것과 대비된다.
Using where MySQL은 내부적으로 스토리지 엔진과 MySQL 엔진이라는 두 계층으로 나뉘며, 각각 다음과 같은 역할을 수행한다. 스토리지 엔진: 디스크나 메모리 상에 존재하는 레코드 중 필요한 것을 읽거나 저장한다. MySQL 엔진: 스토리지 엔진으로부터 전달 받은 레코드를 가공하거나 연산한다. 이 때, 실행 계획의 Extra 컬럼에 표시된 Using where는 MySQL 엔진 계층에서 별도의 필터링을 처리한 경우를 의미한다. Using index 커버링 인덱스라고도 하며, 실제 데이터 파일을 전혀 읽지 않고도 인덱스만 읽어들여 쿼리를 모두 처리할 수 있는 경우이다. 예를 들어, SELECT 절에서 선택하는 컬럼과 임의의 인덱스에 명시된 컬럼이 같은 경우 실제 데이터 레코드 파일을 읽는 대신..
- Total
- Today
- Yesterday
- Git
- Docker
- spring boot
- etc
- shell
- JPA
- RancherDesktop
- IntelliJ
- Vault
- jQuery
- 코딩테스트
- mysql
- AWS IoT
- pgloader
- Spring Cloud Config
- AWS
- kotlin
- Linux
- eureka
- terraform
- Java
- Gradle
- Node.js
- Puppeteer
- react
- hashicorp
- javascript
- JEST
- Database
- postgresql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |