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 1044 게시물 읽기
No. 1044
흥미로운 기능 EXPLAIN 그리고 SQL중독증...
작성자
Coral
작성일
2000-05-18 10:14
조회수
13,519

꼼지락(?) 거리다가 EXPLAIN 이라는 것을 발견했습니다.

쿼리의 구조를 분석한다고 할까요?

설명하기 뭐하니 예를 들면...

 

atom=# select substr(full_name, 1, 2) as a, count(*) from atom_0 group by a;

a | count

////+///////

SS | 4232

(1 row)

 

atom=# EXPLAIN select substr(full_name, 1, 2) as a, count(*) from atom_0 group by a;

NOTICE: QUERY PLAN:

 

Aggregate (cost=380.24..401.40 rows=423 width=12)

/> Group (cost=380.24..390.82 rows=4232 width=12)

/> Sort (cost=380.24..380.24 rows=4232 width=12)

/> Seq Scan on atom_0 (cost=0.00..125.32 rows=4232 width=12)

 

위의 결과를 보면 먼저 일반적인 쿼리를 먼저하고

group 명령을 위해 소트를 하고(order by a 라고 해도 되겠죠)

그 후에 그릅으로 묵은 후에 count를 행한 것을 알 수 있습니다.

쿼리가 복잡하고 해괴할 수록 재미있는 것들이 나오더군요.

이를 태면

 

atom=# EXPLAIN select code,atom,number,price,atom_0.* from order_seq where order_seq.atom=atom_0.code;

NOTICE: QUERY PLAN:

 

Nested Loop (cost=0.00..38.35 rows=42 width=121)

/> Seq Scan on order_seq (cost=0.00..1.01 rows=1 width=40)

/> Index Scan using atom_0_pkey on atom_0 (cost=0.00..36.81 rows=42 width=81)

 

복수 테이블에의 쿼리는 테이블 별로 쿼리를 분해하여 실행하는 것

같습니다.(아직은 몰러...)

아, 옵션에 verbose가 있는데 그것은 사용하지 마세요.

정신건강에 해롭습니다.

 

 

인천의 나사 풀린 산호...

 

어제던가?

ls /a를 치고는 나오는 파일들을 보며 파일크기 별로 보고 싶은

생각이 들었습니다.

그리곤

ls /a order by

를 치고 있는 나 자신을 발견하고는 피식 웃고 말았죠.

아마 ls시에 각 필드명이 나왔다면 order by 뒤까지 쓰고 에러가

난 다음에야 내가 뭔짓을 하고 있는지 알았을 겁니다.

sql명령어를 쉘상에서 쓸수있게(db접근이 아니라, 명령어로서)

한다면 그것도 재미있겠다는 생각이 들었습니다.

('폐인'이라는 말이 별개 아니라는 생각도 들었습니다.)

이제 겨우 SQL을 시작하는 주제이 이러니 나중에는 어떻게 될까

생각하니... (도리도리...)

[Top]
No.
제목
작성자
작성일
조회
1052pg_*** 수정하려면?
이채은
2000-05-18
14546
1055┕>Re: pg_*** 수정하려면?
정재익
2000-05-18 19:46:06
15031
1051[질문] PostgreSQL 7.0용 ODBC Driver가 따로 있나요?
조형진
2000-05-18
12684
1053┕>Re: [질문] PostgreSQL 7.0용 ODBC Driver가 따로 있나요?
Coral
2000-05-18 19:18:27
13659
1054┕>Re: [질문] PostgreSQL 7.0용 ODBC Driver가 따로 있나요?
정재익
2000-05-18 19:42:45
13824
1046C프로그램 컴파일에 대해서
나그네
2000-05-18
12899
1047┕>Re: C프로그램 컴파일에 대해서
소몰이
2000-05-18 17:19:52
12867
1049 ┕>Re: Re: C프로그램 컴파일에 대해서
나그네
2000-05-18 17:28:27
13616
1050  ┕>Re: Re: Re: C프로그램 컴파일에 대해서
Coral
2000-05-18 17:59:47
13649
1044흥미로운 기능 EXPLAIN 그리고 SQL중독증...
Coral
2000-05-18
13519
1041vacuum이 뭐에여????? ^^;
김종혁
2000-05-18
14831
1042┕>Re: vacuum이 뭐에여????? ^^;
정재익
2000-05-18 01:55:44
15971
1039POSTMASTER가 자꾸 죽어요!!!!!!!
박준희
2000-05-17
13147
1043┕>Re: POSTMASTER가 자꾸 죽어요!!!!!!!
정재익
2000-05-18 03:53:19
14939
1037예제 프로그램을 컴파일 해봤는데 define이 안되었다고 에러가......
나그네
2000-05-17
13527
1038┕>Re: 예제 프로그램을 컴파일 해봤는데 define이 안되었다고 에러가...
Coral
2000-05-17 18:01:34
14342
1048 ┕>Re: Re: 예제 프로그램을 컴파일 해봤는데 define이 안되었다고 에러가...
소몰이
2000-05-18 17:24:30
14843
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다