2015-01-16 4 views
3

에서 나는 데이터베이스를 만들 PostgreSQL의 9.3 버전을 사용하고 있습니다.클러스터 및 비 클러스터 인덱스는 PostgreSQL을

은 좀 열 목록과 함께 다음 표 테스트가있다.

create table test 
(
    cola varchar(10), 
    colb varchar(10), 
    colc varchar(10), 
    cold varchar(10) 
); 

이제 일부 열에 대해 색인을 만들고 싶습니다. 예를 들어

:

내가 열 colacolb에 대한 클러스터 된 인덱스를 만들

.

그리고 colccold 열에 대해 클러스터되지 않은 색인을 만들고 싶습니다.

thisthis을 참조 했으므로 PostgreSQL에는 클러스터되지 않은 색인이 없습니다.

내 질문 : PostgreSQL에서 클러스터형 및 비 클러스터형 인덱스 대신 사용할 수있는 인덱스 유형은 클러스터형 및 비 클러스터형 인덱스와 동일한 작업입니까?

+0

Postgres의 모든 색인은 "비 집단"입니다. Postgres에는 클러스터 된 인덱스가 없습니다.'create index'를 실행하면 (비 클러스터 된) B 트리 인덱스가 생성됩니다. 왜 클러스터되지 않은 인덱스가 없다고 생각합니까? –

+0

@a_horse_with_no_name, 알겠습니다. 내 잘못이야. 하지만 클러스터 된 인덱스를 만들려면 어떻게해야합니까? – MAK

+0

내가 말했듯이 : Postgres에는 클러스터 된 인덱스가 없습니다. 그래서 당신은 하나를 만들 수 없습니다. 왜 네가 필요하다고 생각하니? –

답변

11

내 질문 : 클러스터 된 색인과 비 클러스터형 색인 대신 PostgreSQL에서 사용할 수있는 색인의 유형은 클러스터 및 비 클러스터 색인과 동일한 작업입니까?

PostgreSQL에는 클러스터 된 인덱스의 개념이 전혀 없습니다. 대신 모든 테이블은 힙 테이블이고 모든 인덱스는 클러스터되지 않은 인덱스입니다. 당신은 일반적으로 클러스터 된 인덱스를 만들 줄 때

그냥 클러스터되지 않은 인덱스를 만들 수 있습니다.

자세한 내용은 :

+0

정말 고마워요. 완전히 만족 한 대답. – MAK

+4

@mak : 그래, http://use-the-index-luke.com/blog/2014-01/unreasonable-defaults-primary-key-clustering-key –

+0

@a_horse_with_no_name : 나는 또한 마커스에서이 블로그에 매우 흥미를 찾을 수 ! 그것은. – MAK