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
운영게시판
최근게시물
DBMS Q&A 572 게시물 읽기
No. 572
[질문]인덱스의 개념
작성자
꿈소년
작성일
2002-09-23 18:47
조회수
6,113

디비를 겅부하는 학생입니다.

다름이 아니라 인덱스라는게 데이타베이스에서 무지 중요한 개념이란걸 알았습니다.

이걸 내부 구조로 좀 알고 싶은데..

 

빠른 검색을 위해서 디스크 기반 DB에서 인덱스를 생성시켜줄경우...

인덱스에 해당하는 데이타는 자신의 DB가 존재하는 한 계속해서 메모리에

상주하는 건가요?

물론 최종적인 인덱스 데이타는 disk에 상주하겠지만 데이타베이스 엔진을 시동하면 곧바로 메모리에 올라가는건지 알고 싶습니다.

 

아님 디스크에있는건지??

 

만약 디스크에 있는거라면 크게 성능적인 측면에서 이득을 못볼것 같은데..

오라클이나 기타 다른 DB 엔진에서는 어떻게 인덱스를 관리 하는지 알고 싶습니다.

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

인덱스를 상주시키는 곳은 그 인덱스가 쿼리에서 이용되는 순간이 아니라면 디스크에 저정되어 존재되게 되어 있습니다. 물론 DBMS 별로 별도의 cache 메카니즘이 존재하기는 합니다. 하지만 그 많은 인덱스를 메모리에 상주시킨다는 것은 무리입니다.

 

다음으로 퍼포먼스 문제는 아무리 디스크에서 인덱스를 읽어 들인다고 해도 그 많은 자료를 그냥 full sequencial scan 을 하는 것보다는 빠를수 밖에 없으며, 자료가 많을 수록 그 퍼포먼스 차이는 엄청납니다.

 

다음으로 인덱스 메카니즘은 공부를 해야 할 부분입니다. 수도 없이 많은 algorithm 이 개발되어 있습니다. 일반적으로 가장 많이 사용되는 알고리듬은 B-Tree 또는 B-tree+ 입니다. 이들에 대한 공부는 따로 해보시기 바랍니다.

정재익(advance)님이 2002-09-24 07:36에 작성한 댓글입니다.

프로그램하시는 분은 인덱스 알고리듬까지 공부할 필요는 없습니다. 그런 것에 시간 뺏기지 마세요.

쉽게 말해서 책 말미에 있는 색인(index)과 똑같이 빠르게 찾기 입니다. 색인이 없으면 어떻게 찾을 까요?

님이 2002-09-30 20:07에 작성한 댓글입니다.

글쌔요 윗분의 대답을 보니 db를 공부할때 인덱스 구조를 알필요가 없다고 하셨는데... 데이타베이스를 전공으로 하는 사람이 인덱스를 구조를 모르고 어떻게 새로운 알고리즘을 개발할수 있을까요?

현재의 구조를 확실히 파악해 좀더 좋은 구조를 만드는 것도 엔지니어가 할 일이 아닐까요?

글쌔님이 2002-10-11 12:09에 작성한 댓글입니다.

참고로 더한다면 index는 처음부터 메모리에 올라가지 않습니다.

그냥 읽어 들일때 prefetch를 해서 I/O 시간을 줄이는 걸로 알고 있습니다.

그리고 ... 디비가 자동으로 index를 써야 할상황에 맞게 작동되기 때문에 알고리즘 보다는 각디비의 속성을 먼저 파악하는게 더 빠를것입니다.

yoony님이 2002-11-05 23:47에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
591ERwin에 관해서 [2]
lyh
2002-10-01
6740
575합쳐진 코드의 값이 중복되었는지 체크할려면 [3]
박기원
2002-09-25
5161
573데이타베이스공부하고싶어미치겠습니다.
박기원
2002-09-24
5545
572[질문]인덱스의 개념 [4]
꿈소년
2002-09-23
6113
564내용에의한참조, 주소에의한참조?? [1]
선희
2002-09-20
5676
562어둠의 골짜기에서 헤메는 어린양을 구원하소서
홍길동
2002-09-18
5635
561[질문] odbc에 대하여 [1]
이희종
2002-09-18
5248
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다