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 9785 게시물 읽기
No. 9785
시간이 오래 걸리는 쿼리 질문
작성자
검콤이(검콤이)
작성일
2017-04-07 13:22
조회수
7,317

CREATE TABLE JOBS
(
  JOB_ID      VARCHAR(10),
  JOB_TITLE   VARCHAR(35) CONSTRAINT JOB_TITLE_NN NOT NULL,
  MIN_SALARY  NUMERIC(6),
  MAX_SALARY  NUMERIC(6)
);

CREATE TABLE DEPARTMENTS
(
  DEPARTMENT_ID    NUMERIC(4),
  DEPARTMENT_NAME  VARCHAR(30) CONSTRAINT DEPT_NAME_NN NOT NULL,
  MANAGER_ID       NUMERIC(6),
  LOCATION_ID      NUMERIC(4)
);

CREATE TABLE EMPLOYEES
(
  EMPLOYEE_ID     NUMERIC(6),
  FIRST_NAME      VARCHAR(20),
  LAST_NAME       VARCHAR(25) CONSTRAINT EMP_LAST_NAME_NN NOT NULL,
  EMAIL           VARCHAR(25) CONSTRAINT EMP_EMAIL_NN NOT NULL,
  PHONE_NUMBER    VARCHAR(20),
  HIRE_DATE       TIMESTAMP CONSTRAINT EMP_HIRE_DATE_NN NOT NULL,
  JOB_ID          VARCHAR(10) CONSTRAINT EMP_JOB_NN NOT NULL,
  SALARY          NUMERIC(8,2),
  COMMISSION_PCT  NUMERIC(2,2),
  MANAGER_ID      NUMERIC(6),
  DEPARTMENT_ID   NUMERIC(4)
);

CREATE TABLE REGIONS
(
  REGION_ID    NUMERIC CONSTRAINT REGION_ID_NN   NOT NULL,
  REGION_NAME  VARCHAR(25)
);

CREATE TABLE COUNTRIES
(
  COUNTRY_ID    CHAR(2) CONSTRAINT COUNTRY_ID_NN NOT NULL,
  COUNTRY_NAME  VARCHAR(40),
  REGION_ID     NUMERIC,
  CONSTRAINT COUNTRY_C_ID_PK PRIMARY KEY(COUNTRY_ID)
);

CREATE TABLE LOCATIONS
(
  LOCATION_ID     NUMERIC(4),
  STREET_ADDRESS  VARCHAR(40),
  POSTAL_CODE     VARCHAR(12),
  CITY            VARCHAR(30) CONSTRAINT LOC_CITY_NN NOT NULL,
  STATE_PROVINCE  VARCHAR(25),
  COUNTRY_ID      CHAR(2)
);

CREATE TABLE JOB_HISTORY
(
  EMPLOYEE_ID    NUMERIC(6) CONSTRAINT JHIST_EMPLOYEE_NN NOT NULL,
  START_DATE     TIMESTAMP CONSTRAINT JHIST_START_DATE_NN NOT NULL,
  END_DATE       TIMESTAMP CONSTRAINT JHIST_END_DATE_NN NOT NULL,
  JOB_ID         VARCHAR(10) CONSTRAINT JHIST_JOB_NN NOT NULL,
  DEPARTMENT_ID  NUMERIC(4)
);
 

 

안녕하세요.

위의 테이블들로 시간이 오래걸리는 select 문 하나작서해 주실수 있는 분 계신가요..

제 능력으론 그냥 순식간에 결과가 나와 버리네요..

부탁드립니다.

감사합니다.

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

'시간이 오래 걸리는' 이라는 부분이 명확하지 않습니다.

 

1. 그냥 단순히 시간이 오래 걸리는 이라면,
select pg_sleep(10000), * from jobs

만으로도 충분히 오래 걸립니다.

 

2. 디스크 I/O가 많아서 시간이 오래 걸리는 이라면,

jobs 테이블에 많은 자료를 넣고 select * from jobs 해도 그 자료량 만큼 오래 걸립니다.

 

3. 실행 계획이 복잡해서 내부적으로 많은 처리 노드가 있어 시간이 오래 걸리는 이라면,

쿼리를 복잡하게 짜면 될터이고,

 

4. cpu의 무한 작업으로 시간이 오래 걸리는 이라면, 셀프 조인이 많으면 될터이고,

.....

등등 꽤 많은 경우가 있겠네요.

'시간이 오래 걸리는' 에 대한 의도가 뭔지 몰라서 적절한 쿼리를 찾기가 힘드네요.

김상기(ioseph)님이 2017-04-10 12:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9788PostgreSQL 백업질문 (장애입니다ㅠ) [2]
검콤이
2017-04-18
6984
9787PostgreSQL 날짜질문 [2]
검콤이
2017-04-17
6729
9786postgres table 조회 쿼리문 질문입니다. [2]
postgres
2017-04-07
7037
9785시간이 오래 걸리는 쿼리 질문 [1]
검콤이
2017-04-07
7317
9784테이블 생성 기본키와 인덱스 관계문의 드립니다. [1]
김범식
2017-04-06
7006
9783event trigger 질문 [4]
검콤이
2017-04-04
6715
9782postgresql설치 질문입니다. [4]
postgres
2017-04-04
7771
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다