개발은 처음이라 개발새발

MySQL 인덱스 활용 맛보기 본문

mysql

MySQL 인덱스 활용 맛보기

leon_choi 2022. 9. 10. 13:10
반응형

데이터베이스는 데이터를 효율적이고 안전하게 저장하는 역할을 해야 할 뿐만 아니라 조회 역시 빠르게 하는 게 좋습니다. 이를 위해서 필요한 것은 여러 가지가 있는데요. 그중에서 인덱스를 지정해 조회를 하는 시간을 줄이는 방법이 있습니다. 이번 시간에는 이것이 MySQL이다 3장에서 간략히 소개된 인덱스 활용 맛보기에 대해 소개해보겠습니다.  

 

우선 새로운 테이블을 만들고 데이터를 삽입해야 합니다. 데이터는 이것이 MySQL이다 초반 다운받을 수 있는 employees 데이터베이스에서 가져오려고 합니다.

#새로운 테이블 만들기
create table shopdb.indexTBL ( first_name varchar(14), 
	last_name varchar(16), hire_date date);
 
#새로운 테이블에 데이터 삽입하기
insert into shopdb.indexTBL
	select first_name, last_name, hire_date
    from employees.employees
    limit 500;
 
 #데이터 확인
 select * from shopdb.indexTBL;

네 이렇게 데이터가 잘 들어간 것을 확인했습니다. 자, 이제 인덱스를 지정해 보려고 하는데요. 인덱스를 지정하는 방법은 "create index ~ on ~ " 구문을 활용하면 됩니다. 쿼리를 실행해 보겠습니다.

#인덱스 지정
create index idx_indexTBL_firstname on shopdb.indexTBL(first_name);

select * from shopdb.indexTBL where first_name = 'Mary';

네 이렇게 인덱스를 적용해 first_name이 Mary인 테이블을 조회했습니다. 인덱스를 적용 했기 때문에 보게 되면 0.35초만에 데이터를 조회했습니다. 물론 행이 500개밖에 안되는 테이블이기에 인덱스를 지정하지 않아도 빠르게 데이터를 조회할 수 있지만 수십만개 수백만개의 데이터가 있는 테이블을 조회할 때는 빠른 조회를 위해 인덱스가 반드시 필요합니다. 이렇게 인덱스에 대해 맛보기로 다뤄봤습니다. 다음에는 빠른 공부 후 인덱스에 대해 좀 더 알아보도록하겠습니다. 

반응형

'mysql' 카테고리의 다른 글

SELECT문과 My SQL 기초 정리  (1) 2022.09.27
MySQL 트리거 맛보기  (0) 2022.09.10
My SQL 데이터 입력하기  (0) 2022.09.05
My SQL 테이블 만들기  (1) 2022.09.05
[책소개] 이것이 MySQL이다  (1) 2022.08.08