인덱스 (index)
index는 해당 데이터를 쉽게 찾아볼수 있게 만들어주는 색인정도로 생각하면 될거 같다.
물론 index가 없어도 테이블의 모든 정보를 검색하면서 찾아낼 수 있지만,
그건 내가 하는 간단한 테이블에서나 비슷한 성능을 낼 것이다.
나중에 수천, 수만개의 데이터들의 중에서 하나의 데이터를 찾기 위해
그 많은 데이터를 돌린다는 거 자체가 무리일 것이다.
이를 해결 해주기 위해 사용하는게 index라고 알고 있으면 편할거 같다.
그럼 인덱스의 간단한 사용법을 알아보자
create table indexTBL (frist_name varchar(14), last_name varchar(16), hire_date date); insert into indexTBL select first_name, last_name, hire_date from employees.employees limit 500; select * from indexTBL;
select * from indexTBL where first_name = 'Mary';
그래도 저 1개의 결과를 찾기 위해 500개의 데이터를 검색했다고 볼수 있다.
이번에는 index를 생성해 보자
create index idx_indexTBL_firstname on indexTBL(first_name);
이렇게 index는 조회하는 양의 따라서 몇 배의 검색속도를 제공해 주기 때문에
데이터 양이 많을 경우 꼭 필요한 기능이다.
'SQL > mysql' 카테고리의 다른 글
트리거 (trigger) (0) | 2017.09.08 |
---|---|
뷰 (view) (0) | 2017.09.07 |
서브 쿼리 (0) | 2017.09.05 |
NULL & 별칭 정하기 (0) | 2017.09.05 |
산술 연산자 및 연산순위 (0) | 2017.09.05 |
댓글
이 글 공유하기
다른 글
-
트리거 (trigger)
트리거 (trigger)
2017.09.08 -
뷰 (view)
뷰 (view)
2017.09.07 -
서브 쿼리
서브 쿼리
2017.09.05 -
NULL & 별칭 정하기
NULL & 별칭 정하기
2017.09.05