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 9960 게시물 읽기
No. 9960
distinct 관련 쿼리
작성자
박병호(bhpark70)
작성일
2018-03-25 00:32
조회수
5,763

다음과 같은 테이블이 있습니다.

a b c

a1 b1 c1

a1 b1 c2

a1 b1 c3

a1 b1 c4

a1 b2 c5

a1 b2 c6

a1 b2 c7

a2 b1 c8

a2 b1 c9

a2 b2 c10

a2 b2 c11

a2 b3 c12

a2 b3 c13

a2 b3 c14

 

자료는 현재 500만개 정도고  앞으로 수억개가 될 것 같습니다.

a에 따라 b의 unique한 게 몇 개인지 개수를 세는 쿼리를 작성했습니다.

select a, count(distinct b)

from tbl

grouby a;

이렇게 하니까 시간이 많이 걸립니다.

그래서 view를 만들었습니다.

select distinct a, b

from tbl

그리고 다음과 같이 쿼리를 실행했습니다.

select a, count(b)

from viewtbl

groub by a

좀 나아지기는 했지만 위와 같은 쿼리도 시간이 꽤 걸렸습니다.

그래서 질문이 있습니다. 몇 줄 안되는 뷰를 count 하는데 시간이 꽤 걸리는 이유가 뭘까요?

뷰에 대한 이해도가 좀 떨어지는 거 같습니다.

 

 

 

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

뷰는 쿼리 수행 결과 데이터가 저장되는게 아닙니다.
뷰는 단지 쿼리만 저장되는 것입니다.
뷰 조회시 저장된 쿼리가 실행된다고 보시면 됩니다.

마농(manon94)님이 2018-03-26 14:34에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9963전체 function에서 내역 검색하는 방법 있나요? [1]
강정회
2018-04-09
6446
9962[질문]세로데이터를 가로로 바꿀려고합니다. [2]
차상환
2018-04-03
6162
9961Postgresql10을 사용하기 위한 pgadmin3 의 대체제 [2]
이성필
2018-03-28
6131
9960distinct 관련 쿼리 [1]
박병호
2018-03-25
5763
9959트리거에 Mysql에 값을 넣는게 가능할까요? [3]
이기자
2018-03-22
5933
9958정렬 문제 [2]
박병호
2018-03-20
5948
9957쿼리 질문 드립니다. [2]
이기자
2018-03-20
5668
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다