본문 바로가기

Index

(2)
MySQL 인덱스 구조와 원리의 이해 인덱스란? 어떤 문제를 해결하기 위한 기술인가 관계형 데이터베이스는 기본적으로 데이터 영속화라는 목적이 있는 기술이다. 쉽게 말하면 어떤 애플리케이션에 필요한 데이터를 유지(저장)하는데 목적이 있다. 그러나 단순히 저장만 하는 게 아니라 저장된 데이터를 가지고 서비스를 해야 한다. 그렇다 보니 수많은 데이터 중에서 특정 조건을 만족하는 데이터를 조회하는데 일일이 검사를 하게 되면 조회 시간이 점차 증가하게 되기 마련이다. (이것은 성능 저하이자 곧 서비스 품질 저하다.) 데이터를 하나하나 전부다 조건을 검사하게 되면 검색 성능이 매우 떨어지는 문제가 발생하는데 이 문제를 해결하기 위한 기술이 바로 인덱스다. 어떻게 해결하는지 쉽게 설명하면, 일반적으로 책 뒤에 "색인"처럼 어느 페이지에 어떤 단어가 있는..
DB 인덱스의 구조는 어떻게 되어있나요? 인덱스는 언제 적용해야하나요? 데이터베이스 인덱스(Database Index) 데이터베이스의 인덱스, 개발을 하면서 상당히 많이 들었다.RDBMS에서 대용량의 데이터(레코드)가 있을 때, 특정 데이터를 검색하기 위해서 테이블의 레코드를 full scan하는 것이 아니라, 인덱스가 적용된 컬럼의 테이블(컬럼, 인덱스주소)을 따로 파일로 저장해놓고 그것을 검색해서 검색 효율을 높이는 방법이다.1234SELECT /*+INDEX(EMP EMPNO_INDEX) */EMPNO, ENAMEFROM EMPWHERE DEPTNO=10 /*+HINT~~~~ */ 이런식으로 사용하는 것까지는 누구나 안다. (HINT의 종류는 검색해보면 많음)그러나 '왜 이렇게 일어나지?', '어떻게 동작하지?' 이런 고민을 해보지 않고 + 직접 '체득'하지 않은 사람..