database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30293 게시물 읽기
No. 30293
Mysql 인덱스 사용에 대해 궁금합니다.
작성자
할로우
작성일
2012-07-30 10:07
조회수
9,027

안녕하세요. 즐거운 월요일입니다.

아래 실행계획에서와 같이 한테이블에 인덱스가 2개,3개가 존재 하여도 한 쿼리에서는 한개의 인덱스만을 사용하는걸로 보입니다.

| id | select_type | table | type   | possible_keys          | key     | key_len | ref              | rows    | Extra       |
+----+-------------+-------+--------+------------------------+---------+---------+------------------+---------+-------------+
|  1 | SIMPLE      | b     | ALL    | PRIMARY,EMP_I1      | NULL    | NULL    | NULL         | 5218714 | Using where |
|  1 | SIMPLE      | a     | eq_ref | PRIMARY                | PRIMARY | 26      | b.user_id    |       1 |             |
|  1 | SIMPLE      | c     | eq_ref | PRIMARY                | PRIMARY | 26      | a.user_id     |       1 | Using where |
|  1 | SIMPLE      | d     | eq_ref | PRIMARY,SALE_INFO_I1   | PRIMARY | 26      | a.user_id     |       1 |           

 

MySQL은 이렇게 한개의 인덱스만을 사용되어지는건가요?

아니면 2개,3개의 인덱스가 사용될 수 있는 설정이나 힌트가 있는건가요?

궁금합니다.

한테이블의 2개칼럼에 인덱스가 타게 하려면 결합인덱스 밖에 방법이 없는건가요?

이 글에 대한 댓글이 총 2건 있습니다.

1. 자주 사용하는 쿼리문에 따라 복합 인덱스가 나은 경우도 있고, 아닌 경우도 있습니다.

2. 말씀하신 것과 같이, 한 번에 하나의 인덱스만 사용될 수 있습니다. 단, 서브쿼리를 통해 같은 테이블에 여러 번 접근하는 경우, 서로 다른 인덱스를 사용할 수 있습니다. 이 방식의 효율성도 결국 데이터와 쿼리의 형태에 따라 달라집니다.

 

하나의 예로, 간단한 테이블을 만들어 복합 인덱스와 각각의 인덱스를 생성한 경우를 테스트해보았으니, 실행계획(execution plan)을 열어 확인해보세요.

http://sqlfiddle.com/#!2/8644f/2

박현우(lqez)님이 2012-07-31 10:04에 작성한 댓글입니다.

박현우님 답변 감사합니다. ^^

할로우님이 2012-07-31 11:57에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30297박현우님 질문있습니다. ^^ [2]
민족
2012-08-01
8509
30296innodb_flush_method 에 대해 알고 싶습니다. [1]
이제환
2012-07-31
9682
30295mysql 서브쿼리 문제 [1]
이범진
2012-07-31
10396
30293Mysql 인덱스 사용에 대해 궁금합니다. [2]
할로우
2012-07-30
9027
30292서버export 시킨 sql -> import 시킬때 에러 [1]
김양훈
2012-07-27
7684
30291Cardinality가 `none` 으로 나옵니다. [1]
정진섭
2012-07-26
8710
30290MySQL 이중화 관련 질문. ReadOnly DB사용 [3]
백동주
2012-07-24
8809
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다