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
운영게시판
최근게시물
PostgreSQL Q&A 8974 게시물 읽기
No. 8974
클러스터 인덱스
작성자
김민수(xtulip)
작성일
2012-04-13 11:19
조회수
9,232

PostgreSQL 에서는 클러스터 인덱스를 어떻게 생성 해야 하나요... 제가 초보라서요.

그리고 다음과 같은 테이블을 만들었습니다.

REATE TABLE user_info
(
  userid character varying(128) NOT NULL,
  seq serial NOT NULL,
  CONSTRAINT "PK" PRIMARY KEY (userid )
)
WITH (
  OIDS=FALSE
);
ALTER TABLE user_info
  OWNER TO sdmin;

-- Index: userid_index

-- DROP INDEX userid_index;

CREATE INDEX userid_index
  ON user_info
  USING btree
  (userid COLLATE pg_catalog."default"  DESC);

여기에서  다음과 같은 순선대로 데이타를 insert  했습니다.

insert into user_info values('m@naver.co.kr')

insert into user_info values('a@naver.co.kr')

insert into user_info values('b@naver.co.kr')

그리고 나서

select * from user_info  의 결과 값이 다음과 같이 나옵니다.

m@naver.co.kr   1
a@naver.co.kr     2
b@naver.co.kr     3

제가 의도하는 봐는 인덱스 를 생성시 자동 정렬을 하여 order by 절을 사용안하고 정렬을 하고 싶은데 의도데로 안되네요 어떻게 인덱스를 생성 해야 하는지요?

 

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

 order by 없이 의도된 정렬이 필요할 때, 

cluster 명령으로 해당 인덱스 기준으로 테이블 자료를 물리적으로 정렬하겠다는 것은 맞는데, 

 

문제는 이 기능이 읽기 전용에서 쓰임새가 있지 그렇지 않은 경우는, 

그 인덱스 칼럼의 자료가 변경되면 매번 다시 클러스터 작업을 해주어야합니다. 

PostgreSQL의 한계입니다. 다른 데이터베이스에서는 자동으로 그리 되는지는 잘 모르겠네요. 

 

cluster 기능은 우편번호부나, 부서코드 같이 읽기 전용에, 특정 인덱스가 아주 빈번하게 사용되는 경우에 아주 유용하게 쓰이겠지만, 그 외에는 별로 쓰임새가 없는 기능입니다. 

 

김상기(ioseph)님이 2012-04-16 11:11에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8977짧은 여러개의 row와 큰 하나의 row 어느 것이 유리하나요? [1]
심상호
2012-04-22
8662
89768.0과 9.1속도관련 [1]
초보
2012-04-20
8906
8975postgresql 7 -> 8 마이그레이션 [2]
홍길동
2012-04-17
10304
8974클러스터 인덱스 [1]
김민수
2012-04-13
9232
8973디비생성시 encoding 문제로 문의글 남깁니다. [1]
신현종
2012-04-03
9677
89729.0이상 위도우용 바이너리는 어떻게 설치하지요? [2]
심상호
2012-04-01
10057
89707K 길이의 텍스트 입력하는 방법? [2]
김동수
2012-03-11
8780
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다