SQL > MS-SQL - LIBRARY > mysql에서 index사용법에 대하여 몇가지 썰을 풀어 볼까 합니다
 
SQL
MYSQL
MS-SQL
ORACLE
 
 
MS-SQL - LIBRARY
  HOME > SQL > MS-SQL - LIBRARY
 
mysql에서 index사용법에 대하여 몇가지 썰을 풀어 볼까 합니다
작성일 : 10-01-22
조회 : 1,532  

어떤 DBMS라도 인덱스를 사용할 수 있죠. 그보다는 인덱스를 사용할 수 없으면 DBMS라고 부르기 힘들져.

mysql에서 index사용법에 대하여 몇가지 썰을 풀어 볼까 합니다.
누구나 다 아는 야그일것 같은데 헛튼짓 하는것 아닌지 모르겟네여.


다음과 같은 member 테이블을 가지고 놀아 봅시다.

CREATE TABLE member (
id CHAR(10),
name CHAR(20),
age int,
level CHAR(10)
);

요 테이블은 index가 잡혀 있지 않죠. 

다음과 같은 select문에 대해서 잘 동작합니다.
select * from member where id = 'myid';

별 문제 없는것 같습니다. 그런데 레코드 수가 좀 많아 지면 query해오는데 시간이 점점 늘어 나져. 그 이유는 member 테이블에 있는 모든 레코드에 대하여 id가 'myid' 인지 전부 비교합니다.(full scan) 레코드가 늘어 날수록 시간은 점점 오래 걸리겠죠.

그리고 다음과 같은 select의 경우에는 시간이 오래 걸리져.
select * from member where id id ='myid' order by id;

id란 필드에 대한 값으로 전체를 sort해야 되기 때문이져.


테이블을 변경해 봅시다.

CREATE TABLE member (
id CAHR(10) NOT NULL DEFAULT '',
name CHAR(20),
age INT,
level CHAR(10),
INDEX myindex1 (id)
);

달라진것은 id 필드에 NOT NULL DEFAULT ''이 추가 


 
 

Total 2
번호 제   목 조회
2 MySQL 함수 4283
1 mysql에서 index사용법에 대하여 몇가지 썰을 풀어 볼까 합니다 1533
 
개인홈페이지 덤벙닷컴은 프로그래머와 디자이너위한 IT커뮤니티 공간입니다.
Copyright ⓒ www.dumbung.com. All rights reserved.