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 29566 게시물 읽기
No. 29566
InnoDB에는 index 가 안걸리나요?
작성자
박종선(kokuma)
작성일
2010-03-04 19:17
조회수
6,624

제목 그대로 입니다.

InnoDB에는 index 가 안걸리나요?

 

같은 스키마로 MyISAM 과 InnoDB로 테이블을 만들었는데요.

MyISAM 은 Index length 가 있고요.

InnoDB 는 Index length 가 0 이네요.

왜 그럴까요?

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

 

 

innodb 도 인덱스는 사용하는대.. 왜 안될까요??

 

innodb 설정은 다 해주신건가여??

 

innodb 설정을 한번 확인해보시기 바랍니다.

민족님이 2010-03-09 10:45에 작성한 댓글입니다. Edit

 혹시 테이블 생성 직후, SHOW TABLE STATUS 항목의 Index_length를 말씀하시는 거라면, InnoDB 쪽이 0, MyISAM이 일반적으로 1024가 나오는 것이 정상입니다.

 

InnoDB 사용시 (별도로 테이블 단위 스페이스를 사용하게 설정하지 않는다면)공통의 InnoDB Tablespace를 사용하게 되고, Index_length는 실제로 차지하고 있는 용량을 나타내기 때문에,  테이블 생성 직후는 0으로 표시되는 것이 정상입니다.

 

반면, MyISAM인 경우는 테이블당 MYD, MYI파일을 생성하고, Index_length는 MYI파일의 크기를 의미합니다. 테이블이 생성되자마자 헤더와 첫번째 페이지를 포함한 상태로 MYI파일을 생성할 것이기 때문에, 1024바이트 의 크기를 가집니다. 그리고 OPTIMIZE TABLE을 수행하지 않는다면, 많은 row가 삭제되더라도 Index_length가 줄어들지 않을 것입니다.

 

혹시 제가 틀린 부분이 있다면 지적 부탁드립니다. 

 

박현우(lqez)님이 2010-03-11 00:41에 작성한 댓글입니다.
이 댓글은 2010-03-11 00:50에 마지막으로 수정되었습니다.

아~ InnoDB도 인덱스가 생기는데 Index_length에 나타나지 않는 거군요.

처음 알았습니다.

감사합니다.

 

박종선(kokuma)님이 2010-03-11 09:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29569multi column primary key 질문드립니다. [3]
정대원
2010-03-10
8232
29568out of memory 문제 질문이요. 급해요. ㅠㅠ 힝~ [2]
이제노
2010-03-08
7108
29567informix--> mysql [1]
ㅇㅇ
2010-03-08
6223
29566InnoDB에는 index 가 안걸리나요? [3]
박종선
2010-03-04
6624
29565join 속도 문제 [1]
박종선
2010-03-04
6984
29564모델링 - 테이블/엔티티 통합에 대해 문의드립니다. [2]
pithecus
2010-03-03
7005
29563mysql 업그레이드 [1]
이하사
2010-02-26
7349
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다