본문 바로가기

index3

커버링 인덱스를 이용한 최적화 이번에 사이드 프로젝트를 진행하며 쿼리 실행계획을 보며 쿼리 최적화를 진행하였다. 우선 테이블을 보자.create table account_book( id bigint auto_increment primary key, title varchar(255) not null, type varchar(255) not null, amount int not null, created_at datetime default CURRENT_TIMESTAMP null, updated_at d.. 2025. 4. 29.
MySQL의 인덱스 (1) Real MySQL의 인덱스를 읽으며 정리를 해볼려고 한다. MySQL8.x 버전의 InnoDB를 기준으로 작성한다.디스크 읽기 방식인덱스는 MySQL이 데이터를 더 효율적으로 검색하도록 도와주는 구조로, 특히 데이터가 많을수록 그 효과가 두드러진다. MySql은 B+Tree 기반 인덱스를 사용하는데, 이 구조의 탐색 과정에서 디스크 접근 방식이 성능에 큰 영향을 주게된다. 그래서 인덱스에 대해 알아보기 전 디스크 접근 방식인 랜덤I/O와 순차I/O에 대해 간단히 알아보자.랜덤 I/O (Random I/O)랜덤 I/O는 디스크의 서로 떨어진 위치에서 데이터를 읽거나 쓸 때 발생하는 입출력 방식. 책에서 중간중간 필요한 페이지만 펴서 읽는 것처럼, 디스크 헤드가 여러 위치로 이동해야 해서 속도가 느림.디스.. 2025. 4. 11.
인덱스 설계 part 2 * 이전 글에서 이어집니다. 인덱스 설정 part 11. 인덱스 설정인덱스 생성 시 인덱스 동작에 관한 설정을 지정할 수 있다. 인덱스 설정을 조회하려면 인덱스 이름 뒤 / _settings를 넣어 GET 메서드로 호출한다.GET [인덱스 이름]/_settings기존에 존재saltfn.tistory.com2.3 doc_values엘라스틱서치의 검색은 term을 보고 역색인에서 문서를 찾는방식이다. 그러나 정렬, 집계, 스크립트 작업 시는 접근법이 다르다.문서를 보고 필드 내의 텀을 찾는다. doc_values는 디스크를 기반으로 한 자료 구조로 파일 시스템 캐시를 통해 효울적으로 정렬, 집계, 스크립트 작업을 수행한다. text와 annotated_text 타입을 제외한 거의 모든 필드 타입이 doc_v.. 2024. 5. 22.