Set Query for Oracle 9.0.1 이우진, 이상협 숭실대학교 컴퓨터학과 June 2002.

Slides:



Advertisements
Similar presentations
Implementation of Set Query with UniSQL 이학찬, 류문수 숭실대학교 컴퓨터학과
Advertisements

2010 – 06 – 24 주간 보고서.
컴퓨터와 인터넷.
MS SQL Server 학기, 소프트웨어 설계 및 실험 ( Ⅰ )
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
데이터 모델링 방법론 2003년 03월.
Database Laboratory, Hong Ik University
SAP QUERY SAP R/3 4.6C.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
오라클 데이터베이스 성능 튜닝.
Database & Internet Computing Laboratory 한 양 대 학 교
기본 컴퓨터 프로그래밍 Lecture #6.
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
AWR DB 보고서 분석.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
MySQL performance Xhark 김재홍.
Toad for Oracle 설치 방법.
MySQL 및 Workbench 설치 데이터 베이스.
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
오라클 데이터베이스 성능 튜닝.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
Unix Project2 <test character device 생성>
On the computation of multidimensional Aggregates
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
제 17 장 (Oracle) 오라클에서 질의 최적화
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
5장 Mysql 데이터베이스 한빛미디어(주).
You YoungSEok Oracle 설치 You YoungSEok
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL Server 7.0 세미나 (Performance Tuning)
JDBC Lecture 004 By MINIO.
SQL Query in the SSMS : DB, Table
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
View(뷰) 1 가상 테이블(Virtual Relation)
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
Chapter 12 Memory Organization
MS-SQL7.0 Implementation 강의 노트
06. SQL 명지대학교 ICT 융합대학 김정호.
How I Approach Tuning a SQL Statement
오라클 11g 보안.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
제 23 장 오라클에서 보안 기능.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
 6장. SQL 쿼리.
fastestslowest 실제 질의문에서 사용 타입 추천 인덱스 SELECT list Default
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

Set Query for Oracle 이우진, 이상협 숭실대학교 컴퓨터학과 June 2002

Database Systems Laboratory 2 목 차목 차목 차목 차 Set query 개요 Set query 개요 실험 환경 실험 환경 벤치마크 도구 벤치마크 도구 실험 결과 및 분석 실험 결과 및 분석

Database Systems Laboratory 3 Set Query 개요

Database Systems Laboratory 4 Set Query 개요 (1) 문서 검색, 직접 마케팅, 의사 결정 지원, 경영 보 고서 같은 전략적 가치 정보의 응용프로그램이 원 하는 결과를 $/QPS (Price per Queries Per Second) 로 얻을 수 있게 하여 제품에 대한 성능 평가를 할 목적으로 개발 문서 검색, 직접 마케팅, 의사 결정 지원, 경영 보 고서 같은 전략적 가치 정보의 응용프로그램이 원 하는 결과를 $/QPS (Price per Queries Per Second) 로 얻을 수 있게 하여 제품에 대한 성능 평가를 할 목적으로 개발 단일 사용자 환경 단일 사용자 환경 시험 대상 시스템 – 상용 관계형 데이터베이스 시험 대상 시스템 – 상용 관계형 데이터베이스

Database Systems Laboratory 5 Set Query 개요 (2) Set Query 개요 (2) 구성 구성 하나의 테이블 – bench 하나의 테이블 – bench 3 개 영역의 69 개 질의로 구성 3 개 영역의 69 개 질의로 구성 측정 요소 측정 요소 응답시간 - 1/1000 초 단위 응답시간 - 1/1000 초 단위 CPU 사용시간 - 1/1000 초 단위 CPU 사용시간 - 1/1000 초 단위 I/O 사용 - block 수 단위 I/O 사용 - block 수 단위

Database Systems Laboratory 6 Set Query 개요 (3) 질의 결과 출력 질의 결과 출력 각 질의의 결과를 사용자가 원하는 파일로 출력 각 질의의 결과를 사용자가 원하는 파일로 출력 $/QPS (Dollar Price per Query Per Second) $/QPS (Dollar Price per Query Per Second) P*T / 69 P*T / 69 P: 하드웨어와 소프트웨어 비용 P: 하드웨어와 소프트웨어 비용 T: 전체 질의를 수행하는데 소요된 시간 T: 전체 질의를 수행하는데 소요된 시간

Database Systems Laboratory 7 시험 테이블 – BENCH(1) 하나의 테이블 하나의 테이블 1,000,000 개 터플 1,000,000 개 터플 터플 크기 – 200 바이트 터플 크기 – 200 바이트 높은 기수성을 얻기 위해 일관된 방법하에 정수 배로 재구성 가능 높은 기수성을 얻기 위해 일관된 방법하에 정수 배로 재구성 가능 Ex) K500K, k250K 를 K5M, K2500K 로 바꾸어 KSEQ 가 10,000,000 까지 증가하게 하여 실험 수행 Ex) K500K, k250K 를 K5M, K2500K 로 바꾸어 KSEQ 가 10,000,000 까지 증가하게 하여 실험 수행

Database Systems Laboratory 8 시험 테이블 – BENCH(2) 13 개의 정수 인덱스 컬럼 13 개의 정수 인덱스 컬럼 기수성 (cardinality) – 2 ~ 500K (K2~K500K) 기수성 (cardinality) – 2 ~ 500K (K2~K500K) 무작위로 생성되어 다양한 값을 가지도록 12 개로 구성 무작위로 생성되어 다양한 값을 가지도록 12 개로 구성 KSEQ – 순서를 나타내는 정수 컬럼 KSEQ – 순서를 나타내는 정수 컬럼 크기 - 4 바이트 크기 - 4 바이트 8 개의 문자 컬럼 8 개의 문자 컬럼 데이터 저장시 압축되지 않도록 문자열 생성 데이터 저장시 압축되지 않도록 문자열 생성 ex) ‘ ’ ex) ‘ ’ 크기 - S1 (8 바이트 ), S2~S10 (20 바이트 ) 크기 - S1 (8 바이트 ), S2~S10 (20 바이트 )

Database Systems Laboratory 9 시험 테이블 – BENCH(3) 정수 인덱스 컬럼 KSEQ not null sequence[1,N] K500K random[1,N/2] K250K random[1,N/4] K100K random[1, ] K40K not null random[1, 40000] K10K not null random[1, 10000] K1K not null random[1, 1000] K100 not null random[1, 100] K25 not null random[1, 25] K10 not null random[1, 10] K5 not null random[1, 5] K4 not null random[1, 4] K2 not null random[1, 2] 문자 컬럼 S1 not null ‘ ’ S2 ~ S8 not null ‘ ’ N: 1,000,000(defaults size) 에 정수 배

Database Systems Laboratory 10 평가 질의 (1) 3 개 영역의 69 개 질의 3 개 영역의 69 개 질의 문서 검색 : Q1, Q2, Q4 문서 검색 : Q1, Q2, Q4 Q1 Count, Single Exact Match: 10 개 Q1 Count, Single Exact Match: 10 개 Q2 Count ANDing two Clauses: 18 개 Q2 Count ANDing two Clauses: 18 개 Q2A AND of two exact match conditions: 9 개 Q2A AND of two exact match conditions: 9 개 Q2B NOT of an exact match condition: 9 개 Q2B NOT of an exact match condition: 9 개 Q4 Multiple Condition Selection :15 개 Q4 Multiple Condition Selection :15 개 ANDing 3 match or range conditions: 8 개 ANDing 3 match or range conditions: 8 개 ANDing 5 match or range conditions: 7 개 ANDing 5 match or range conditions: 7 개

Database Systems Laboratory 11 평가 질의 (2) 직접 마케팅 : Q3 직접 마케팅 : Q3 Q3 Sum, Range and Match Clause: 14 개 Q3 Sum, Range and Match Clause: 14 개 Q3A single range selection, exact match: 7 개 Q3A single range selection, exact match: 7 개 Q3B OR of multiple range selection, exact match: 7 개 Q3B OR of multiple range selection, exact match: 7 개 의사 결정 지원, 경영 보고서 : Q5, Q6 의사 결정 지원, 경영 보고서 : Q5, Q6 Q5 Multiple column GROUP BY: 3 개 Q5 Multiple column GROUP BY: 3 개 Q6 Join Condition: 9 개 Q6 Join Condition: 9 개 Q6A exact match of the first table only: 5 개 Q6A exact match of the first table only: 5 개 Q6B exact match on both tables: 4 개 Q6B exact match on both tables: 4 개

Database Systems Laboratory 12 실험 환경

Database Systems Laboratory 13 하드웨어 및 소프트웨어 하드웨어 하드웨어 CPU : Pentium III 733MHz 1 개 CPU : Pentium III 733MHz 1 개 Main Memory : 512 MB Main Memory : 512 MB HDD : 18 GB 내장 HDD 1 개 HDD : 18 GB 내장 HDD 1 개 소프트웨어 소프트웨어 운영체제 : Redhat Linux 7.2 운영체제 : Redhat Linux 7.2 Compiler: GCC 2.96 Compiler: GCC 2.96 Oracle : Oracle 9i Oracle : Oracle 9i 9.0.1

Database Systems Laboratory 14 Oracle 9i 실험 환경 (1) 시스템 파라미터 시스템 파라미터 data_block_size: 8192 bytes(8KB) data_block_size: 8192 bytes(8KB) db_block_buffers: 6,000 blocks(48MB) db_block_buffers: 6,000 blocks(48MB) shared_pool_size: 16,384,000 bytes(16MB) shared_pool_size: 16,384,000 bytes(16MB) log_buffers : 524,288 bytes(512KB) log_buffers : 524,288 bytes(512KB) log_checkpoint_timeout: 1800 sec log_checkpoint_timeout: 1800 sec other parameters : 기본값 사용 other parameters : 기본값 사용

Database Systems Laboratory 15 Oracle 9i 실험 환경 (2) 데이터베이스 크기 데이터베이스 크기 Data tablespace: 1024MB Data tablespace: 1024MB Index tablespace: 1024MB Index tablespace: 1024MB Temporary tablespace: 1024MB Temporary tablespace: 1024MB 시험 대상 데이터 텍스트 크기 시험 대상 데이터 텍스트 크기 터플 수 1,000,000 개 - 210MB 터플 수 1,000,000 개 - 210MB

Database Systems Laboratory 16 Oracle 9i 실험 환경 (3) 질의 최적화 방법 질의 최적화 방법 비용 기반 질의 최적화 사용 비용 기반 질의 최적화 사용 시험 테이블에 대해 통계 갱신 시험 테이블에 대해 통계 갱신 ANALYZE TABLE 문 사용 ANALYZE TABLE 문 사용 Cold start 사용 Cold start 사용 하나의 질의 수행 후 메모리에 1GB 만큼 할당 한 후 다음 질의 수행 하나의 질의 수행 후 메모리에 1GB 만큼 할당 한 후 다음 질의 수행

Database Systems Laboratory 17 벤치마크 도구

Database Systems Laboratory 18 개요 작성 언어 : C 언어 작성 언어 : C 언어 DBMS Programming API DBMS Programming API OCI 사용 OCI 사용 데이터 벌크 로딩 도구 데이터 벌크 로딩 도구 Oracle 에서 제공하는 SQL*Loader 사용 Oracle 에서 제공하는 SQL*Loader 사용

Database Systems Laboratory 19 메뉴 구성 ******************************************** * The Set Query Benchmark Test * * The Set Query Benchmark Test ***************************************************************************************** * 1. DATA GENERATE (UniSQL, Oracle) * * 1. DATA GENERATE (UniSQL, Oracle) * * 2. TABLE CREATE AND LOAD * * 2. TABLE CREATE AND LOAD * * 3. START TEST * * 3. START TEST * * 4. DROP TABLE * * 4. DROP TABLE * * 5. QUIT * * 5. QUIT * * 6. CREATE DATABASE * * 6. CREATE DATABASE * * 7. DROP DATABASE * ******************************************** * 7. DROP DATABASE * ********************************************

Database Systems Laboratory 20 제어 흐름 메뉴 query 결과 파일 Create/Drop DB Create/Drop DB generate 자료 파일 데이터베이스 응답 시간 결과 테스트 수행 선택 데이터 생성 선택 파일 생성 데이터베이스 생성 / 삭제 선택 데이터베이스 생성 / 삭제 SQL*LOADER 벌크 로딩 Create/Drop table Create/Drop table 인덱스 생성 / 테이블 통계정보 생성 테이블 생성 / 삭제 선택 각 트랜잭션 수행 결과 파일 질의 결과

Database Systems Laboratory 21 데이터 생성 pseudo-random number generator PROCEDURE FIELDVGEN()/* Procedure to generate indexed field values */ INTEGER I, J; /* Looping Variables */ DOUBLE SEED INIT (1.); /* Seed For Random Number Generation */ INTEGER ARRAY COLVAL(1:12), /* Array to hold one row of values */ COLCARD(1:12) /* Array holding largest value in each field */ INIT (500000,250000,100000,40000,10000,1000,100,25,10,5,4,2);/* Initialize */ FOR I FROM 1 TO ; /* One Million Rows */ FOR J FROM 1 TO 12; /* Twelve randomly generated column values */ SEED = MOD( D * SEED, D); /* I.E.: Si+1 = (7**5 * Si ) MOD (2**31-1), where Si is SEED, a random # */ COLVAL(J) = MOD(SEED, COLCARD(J) )+1; /* Generate next column value */ END FOR J /* Row complete */ PRINT COLVAL VALUES FOR THIS ROW TO OUTPUT;/*Output row's values*/ END FOR I /* We have generated One Million Rows */ END

Database Systems Laboratory 22 데이터 벌크 로딩 결과 로딩 시간 초 (14 분 10 초 ) CPU 사용 시간 초 (1 분 31 초 ) BENCH 테이블 크기 29,416 blocks (240,975,872 bytes)

Database Systems Laboratory 23 실험 결과

Database Systems Laboratory 24 Count, Single Exact Match – Q1 Q1: Count,Single Exact Match Q1: Count,Single Exact Match SELECT COUNT(*) FROM BENCH SELECT COUNT(*) FROM BENCH WHERE KN = 2; KN ε {KSEQ, K100K, …, K4, K2} KN ε {KSEQ, K100K, …, K4, K2} 수행 계획 수행 계획 INDEX RANGE SCAN – KSEQ, K100K, K10K, K1K, K100,K25, K10 INDEX RANGE SCAN – KSEQ, K100K, K10K, K1K, K100,K25, K10 INDEX FAST FULL SCAN – K5, K4, K2 INDEX FAST FULL SCAN – K5, K4, K2

Database Systems Laboratory 25 Count, Single Exact Match – Q1 Q1 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read KSEQ 1회1회1회1회 회2회2회2회 회3회3회3회 K100K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 26 Count, Single Exact Match – Q1 Q1 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K10K 1회1회1회1회 회2회2회2회 회3회3회3회 K1K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 27 Count, Single Exact Match – Q1 Q1 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100 1회1회1회1회 회2회2회2회 회3회3회3회 K25 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 28 Count, Single Exact Match – Q1 Q1 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physic al read K10 1회1회1회1회 회2회2회2회 회3회3회3회 K5 1회1회1회1회 ,9741, ,9741,960 2회2회2회2회 ,9741, ,9741,960 3회3회3회3회 ,9741, ,9761,960

Database Systems Laboratory 29 Count, Single Exact Match – Q1 Q1 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physica l read K4 1회1회1회1회 ,9711, ,9711,960 2회2회2회2회 ,9711, ,9711,960 3회3회3회3회 ,9711, ,9711,960 K2 1회1회1회1회 ,9711, ,9711,960 2회2회2회2회 ,9711, ,9711,960 3회3회3회3회 ,9711, ,9711,960

Database Systems Laboratory 30 Count ANDing two Clauses – Q2 Q2: Count AND ing Two Clauses Q2: Count AND ing Two Clauses Q2A: AND of two exact match conditions Q2A: AND of two exact match conditions SELECT COUNT(*) FROM BENCH SELECT COUNT(*) FROM BENCH WHERE K2 = 2 AND KN = 3; KN ε {KSEQ, K100K, …, K4} KN ε {KSEQ, K100K, …, K4} 수행 계획 수행 계획 1. INDEX RANGE SCAN: KN 1. INDEX RANGE SCAN: KN 2. INDEX RANGE SCAN: K2 2. INDEX RANGE SCAN: K2

Database Systems Laboratory 31 Count ANDing two Clauses – Q2 Q2A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read KSEQ 1회1회1회1회 회2회2회2회 회3회3회3회 K100K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 32 Count ANDing two Clauses – Q2 Q2A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read K10K 1회1회1회1회 회2회2회2회 회3회3회3회 K1K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 33 Count ANDing two Clauses – Q2 Q2A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read K100 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,00119 K25 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,06078

Database Systems Laboratory 34 Count ANDing two Clauses – Q2 Q2A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K10 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , , K5 1회1회1회1회 , ,3730 2회2회2회2회 , ,3730 3회3회3회3회 , ,3730

Database Systems Laboratory 35 Count ANDing two Clauses – Q2 Q2A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K4 1회1회1회1회 , ,4700 2회2회2회2회 , ,4700 3회3회3회3회 , ,4700

Database Systems Laboratory 36 Count ANDing two Clauses – Q2 Q2: Count AND ing Two Clauses Q2: Count AND ing Two Clauses Q2B: NOT of an exact match conditions Q2B: NOT of an exact match conditions SELECT COUNT(*) FROM BENCH SELECT COUNT(*) FROM BENCH WHERE K2 = 2 AND NOT KN = 3; KN ε {KSEQ, K100K, …, K4} KN ε {KSEQ, K100K, …, K4} 수행 계획 수행 계획 1. INDEX RANGE SCAN: K2 1. INDEX RANGE SCAN: K2 2. INDEX RANGE SCAN: KN 2. INDEX RANGE SCAN: KN

Database Systems Laboratory 37 Count ANDing two Clauses – Q2 Q2B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read KSEQ 1회1회1회1회 회2회2회2회 회3회3회3회 K100K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 38 Count ANDing two Clauses – Q2 Q2B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K10K 1회1회1회1회 회2회2회2회 회3회3회3회 K1K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 39 Count ANDing two Clauses – Q2 Q2B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physica l read K100 1회1회1회1회 , ,0010 2회2회2회2회 , ,0010 3회3회3회3회 , ,0010 K25 1회1회1회1회 , ,0600 2회2회2회2회 , 회3회3회3회 , ,0600

Database Systems Laboratory 40 Count ANDing two Clauses – Q2 Q2B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K10 1회1회1회1회 , ,1770 2회2회2회2회 , ,1770 3회3회3회3회 , ,1770 K5 1회1회1회1회 , ,3730 2회2회2회2회 , ,3730 3회3회3회3회 , ,3730

Database Systems Laboratory 41 Count ANDing two Clauses – Q2 Q2B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K4 1회1회1회1회 , ,4700 2회2회2회2회 , ,4700 3회3회3회3회 , ,4700

Database Systems Laboratory 42 Sum, Range and Match – Q3 Q3: Sum, Range and Match Clause Q3: Sum, Range and Match Clause Q3A: the values of an integer binary column Q3A: the values of an integer binary column SELECT SUM(K1K) FROM BENCH SELECT SUM(K1K) FROM BENCH WHERE KSEQ BETWEEN AND AND KN = 3; KN ε {K100K, …, K4} KN ε {K100K, …, K4} 수행 계획 수행 계획 One time index One time index INDEX KN RANGE SCAN – K100K, K10K INDEX KN RANGE SCAN – K100K, K10K INDEX KSEQ RANGE SCAN – K10, K5, K4 INDEX KSEQ RANGE SCAN – K10, K5, K4 Two times indexes – K100, K25 Two times indexes – K100, K25 1. INDEX RANGE SCAN: KN 1. INDEX RANGE SCAN: KN 2. INDEX RANGE SCAN: KSEQ 2. INDEX RANGE SCAN: KSEQ

Database Systems Laboratory 43 Sum, Range and Match – Q3 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100K 1회1회1회1회 회2회2회2회 회3회3회3회 K10K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 44 Sum, Range and Match – Q3 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100 1회1회1회1회 ,1601, ,3501,298 2회2회2회2회 ,2071, ,2261,294 3회3회3회3회 ,9731, ,2121,293 K25 1회1회1회1회 ,4831, ,4831,743 2회2회2회2회 ,4831, ,4831,743 3회3회3회3회 ,4831, ,4831,743

Database Systems Laboratory 45 Sum, Range and Match – Q3 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physica l read K10 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , , K5 1회1회1회1회 , ,1680 2회2회2회2회 , ,1680 3회3회3회3회 , ,1680

Database Systems Laboratory 46 Sum, Range and Match – Q3 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K4 1회1회1회1회 , ,1680 2회2회2회2회 , ,1680 3회3회3회3회 ,

Database Systems Laboratory 47 Sum, Range and Match – Q3 Q3: Sum, Range and Match Clause Q3: Sum, Range and Match Clause Q3B: OR Q3B: OR SELECT SUM(K1K) FROM BENCH SELECT SUM(K1K) FROM BENCH WHERE (KSEQ BETWEEN AND OR KSEQ BETWEEN AND OR KSEQ BETWEEN AND OR KSEQ BETWEEN AND OR KSEQ BETWEEN AND ) AND KN = 3; KN ε {K100K, …, K4} KN ε {K100K, …, K4}

Database Systems Laboratory 48 Sum, Range and Match – Q3 수행 계획 수행 계획 K100K, K10K - INDEX KN RANGE SCAN K100K, K10K - INDEX KN RANGE SCAN K100, K25 K100, K25 INDEX KN RANGE SCAN INDEX KN RANGE SCAN INDEX KSEQ RANGE SCAN – five times INDEX KSEQ RANGE SCAN – five times K10, K5, K4 K10, K5, K4 INDEX KSEQ RANGE SCAN – five times INDEX KSEQ RANGE SCAN – five times

Database Systems Laboratory 49 Sum, Range and Match – Q3 Q3B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100K 1회1회1회1회 회2회2회2회 회3회3회3회 K10K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 50 Sum, Range and Match – Q3 Q3B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100 1회1회1회1회 회2회2회2회 회3회3회3회 K25 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,53240

Database Systems Laboratory 51 Sum, Range and Match – Q3 Q3B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physica l read K10 1회1회1회1회 , ,9180 2회2회2회2회 , ,9180 3회3회3회3회 , ,9180 K5 1회1회1회1회 , ,9180 2회2회2회2회 , ,9180 3회3회3회3회 , ,9180

Database Systems Laboratory 52 Sum, Range and Match – Q3 Q3B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K4 1회1회1회1회 , ,9180 2회2회2회2회 , ,9180 3회3회3회3회 , ,9180

Database Systems Laboratory 53 Multiple Condition Selection – Q4 Q4: Multiple Condition Selection Q4: Multiple Condition Selection Q4A: ANDing 3 Q4A: ANDing 3 SELECT KSEQ, K500K FROM BENCH SELECT KSEQ, K500K FROM BENCH WHERE constraint with 3 conditions; Condition Sequence Condition Sequence (1) K2 =1(2) k100 > 80 (3) K10K BETWEEN 2000 AND 3000(4) K5 = 3 (5) K25 IN (11, 19)(6) K4 = 3 (7) K100 < 41 (8) K1K BETWEEN 850 AND 950 (9) K10 = 7(10) K25 IN (3, 4)

Database Systems Laboratory 54 Multiple Condition Selection – Q4 수행 계획 수행 계획 (1)~(3), (6)~(8) - TABLE FULL SCAN (1)~(3), (6)~(8) - TABLE FULL SCAN INDEX K25 RANGE SCAN – two times INDEX K25 RANGE SCAN – two times Query contain (5), (10) condition Query contain (5), (10) condition (3)~(5), (4)~(6), (5)~(7), (8)~(10) (3)~(5), (4)~(6), (5)~(7), (8)~(10) INDEX RANGE SCAN in order high selectivity INDEX RANGE SCAN in order high selectivity

Database Systems Laboratory 55 Multiple Condition Selection – Q4 Q4A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read 1~3 1회1회1회1회 ,30726, ,30726,376 2회2회2회2회 ,30726, ,30726,376 3회3회3회3회 ,30726, ,30726,376 2~4 1회1회1회1회 ,7195, ,1365,153 2회2회2회2회 ,2435, ,9615,149 3회3회3회3회 ,2935, ,1265,154

Database Systems Laboratory 56 Multiple Condition Selection – Q4 Q4A ColdNo-cold Elapsed time CPU time Logical read Physic al read Elapse d time CPU time Logical read Physical read 3~5 1회1회1회1회 ,3992, ,3991,981 2회2회2회2회 ,3991, ,3992,011 3회3회3회3회 ,3992, ,3992,011 4~6 1회1회1회1회 ,9383, ,9383,275 2회2회2회2회 ,9383, ,9382,982 3회3회3회3회 ,9383, ,9382,983

Database Systems Laboratory 57 Multiple Condition Selection – Q4 Q4A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read 5~7 1회1회1회1회 ,26613, ,26613,195 2회2회2회2회 ,26613, ,26613,487 3회3회3회3회 ,26613, ,26613,305 6~8 1회1회1회1회 ,39422, ,39422,555 2회2회2회2회 ,39422, ,39422,614 3회3회3회3회 ,39422, ,39422,550

Database Systems Laboratory 58 Multiple Condition Selection – Q4 Q4A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read 7~9 1회1회1회1회 ,1728, ,1728,436 2회2회2회2회 ,1728, ,1728,453 3회3회3회3회 ,1728, ,1728,433 8~10 1회1회1회1회 ,3671, ,3671,421 2회2회2회2회 ,3671, ,3671,339 3회3회3회3회 ,3671, ,3671,421

Database Systems Laboratory 59 Multiple Condition Selection – Q4 Q4: Multiple Condition Selection Q4: Multiple Condition Selection Q4B: ANDing 5 Q4B: ANDing 5 SELECT KSEQ, K500K FROM BENCH SELECT KSEQ, K500K FROM BENCH WHERE constraint with 5 conditions; Condition Sequence Condition Sequence (1) K2 =1(2) k100 > 80 (3) K10K BETWEEN 2000 AND 3000(4) K5 = 3 (5) K25 IN (11, 19)(6) K4 = 3 (7) K100 < 41 (8) K1K BETWEEN 850 AND 950 (9) K10 = 7(10) K25 IN (3, 4)

Database Systems Laboratory 60 Multiple Condition Selection – Q4 수행 계획 수행 계획 INDEX K25 RANGE SCAN – two times INDEX K25 RANGE SCAN – two times Query contain (5), (10) condition Query contain (5), (10) condition INDEX RANGE SCAN in order high selectivity INDEX RANGE SCAN in order high selectivity

Database Systems Laboratory 61 Multiple Condition Selection – Q4 Q4B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read 1~5 1회1회1회1회 ,5321, ,5322,057 2회2회2회2회 ,5321, ,5322,094 3회3회3회3회 ,5321, ,5321,960 2~6 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,656886

Database Systems Laboratory 62 Multiple Condition Selection – Q4 Q4B ColdNo-cold Elapsed time CPU time Logical read Physic al read Elapse d time CPU time Logical read Physical read 3~7 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , , ~8 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,655680

Database Systems Laboratory 63 Multiple Condition Selection – Q4 Q4B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read 5~9 1회1회1회1회 ,7471, ,7471,550 2회2회2회2회 ,7471, ,7471,568 3회3회3회3회 ,7471, ,7471,556 6~10 1회1회1회1회 ,7891, ,7891,689 2회2회2회2회 ,7891, 회3회3회3회 ,7891,

Database Systems Laboratory 64 Multiple Condition Selection – Q4 Q4B ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read 7~1 1회1회1회1회 , , 회2회2회2회 , , 회3회3회3회 , ,362704

Database Systems Laboratory 65 Multiple Column GROUP BY – Q5 Q5: Multiple Column GROUP BY Q5: Multiple Column GROUP BY SELECT KN1, KN2, COUNT(*) FROM BENCH SELECT KN1, KN2, COUNT(*) FROM BENCH GROUP BY KN1, KN2; (KN1, KN2) ε { (K2, K100), (K10, K25), (K10, K25) } (KN1, KN2) ε { (K2, K100), (K10, K25), (K10, K25) } 수행 계획 수행 계획 TABLE FULL SCAN TABLE FULL SCAN

Database Systems Laboratory 66 Multiple Column GROUP BY – Q5 Q5 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K2,K100 1회1회1회1회 ,42823, ,42824,632 2회2회2회2회 ,42823, ,42825,072 3회3회3회3회 ,42823, ,42824,489 K4,K25 1회1회1회1회 ,42823, ,42823,112 2회2회2회2회 ,42823, ,42823,197 3회3회3회3회 ,42823, ,42823,269

Database Systems Laboratory 67 Multiple Column GROUP BY – Q5 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read K10,K25 1회1회1회1회 ,42823, ,42823,112 2회2회2회2회 ,42823, ,42823,197 3회3회3회3회 ,42823, ,42823,269

Database Systems Laboratory 68 Multiple Condition Selection – Q6 Q6: Multiple Condition Selection Q6: Multiple Condition Selection Q6A: equality condition limiting the rows of the first table only Q6A: equality condition limiting the rows of the first table only SELECT COUNT(*) FROM BENCH B1, BENCH B2 SELECT COUNT(*) FROM BENCH B1, BENCH B2 WHERE B1.KN = 49 AND B1.K250K = B2.K500K; KN1 ε { K100K, K40K, K10K, K1K, K100 } KN1 ε { K100K, K40K, K10K, K1K, K100 }

Database Systems Laboratory 69 Multiple Condition Selection – Q6 수행 계획 수행 계획 K100K, K40K, K10K K100K, K40K, K10K NESTED LOOPS NESTED LOOPS 1. INDEX RANGE SCAN: KN 1. INDEX RANGE SCAN: KN 2. INDEX RANGE SCAN: K500K 2. INDEX RANGE SCAN: K500K K1K K1K HASH JOIN HASH JOIN 1. INDEX RANGE SCAN: K1K 1. INDEX RANGE SCAN: K1K 2. INDEX FAST FULL SCAN: K500K 2. INDEX FAST FULL SCAN: K500K K100 K100 HASH JOIN HASH JOIN 1. INDEX RANGE SCAN: K INDEX RANGE SCAN: K INDEX FAST FULL SCAN: K250K 2. INDEX FAST FULL SCAN: K250K 3. INDEX FAST FULL SCAN: K500K 3. INDEX FAST FULL SCAN: K500K

Database Systems Laboratory 70 Multiple Condition Selection – Q6 Q5 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100K 1회1회1회1회 회2회2회2회 회3회3회3회 K40K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 71 Multiple Condition Selection – Q6 Q5 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K10K 1회1회1회1회 회2회2회2회 회3회3회3회 K1K 1회1회1회1회 ,2292, ,2292,876 2회2회2회2회 ,2292, ,2292,875 3회3회3회3회 ,2292, ,2292,884

Database Systems Laboratory 72 Multiple Condition Selection – Q6 Q3A ColdNo-cold Elapsed time CPU time Logical read Physical read Elapse d time CPU time Logical read Physical read K100 1회1회1회1회 ,5034, ,5034,484 2회2회2회2회 ,5034, ,2741,609 3회3회3회3회 ,5034, ,2741,600

Database Systems Laboratory 73 Multiple Condition Selection – Q6 Q6: Multiple Condition Selection Q6: Multiple Condition Selection Q6B: equality conditions limit the rows on both tables Q6B: equality conditions limit the rows on both tables SELECT B1.KSEQ, B2.KSEQ FROM BENCH B1, BENCH B2 SELECT B1.KSEQ, B2.KSEQ FROM BENCH B1, BENCH B2 WHERE B1.KN = 99 AND B1.K250K = B2.K500K AND B2.K25 = 19; KN1 ε { K40K, K10K, K1K, K100 } KN1 ε { K40K, K10K, K1K, K100 }

Database Systems Laboratory 74 Multiple Condition Selection – Q6 수행 계획 수행 계획 K100K, K40K, K10K, K1K K100K, K40K, K10K, K1K NESTED LOOPS NESTED LOOPS 1. INDEX RANGE SCAN: KN 1. INDEX RANGE SCAN: KN 2. INDEX RANGE SCAN: K500K 2. INDEX RANGE SCAN: K500K K100 K100 HASH JOIN HASH JOIN TABLE FULL SCAN – two times TABLE FULL SCAN – two times

Database Systems Laboratory 75 Multiple Condition Selection – Q6 Q5 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K100K 1회1회1회1회 회2회2회2회 회3회3회3회 K40K 1회1회1회1회 회2회2회2회 회3회3회3회

Database Systems Laboratory 76 Multiple Condition Selection – Q6 Q5 ColdNo-cold Elapsed time CPU time Logical read Physical read Elapsed time CPU time Logical read Physical read K1K 1회1회1회1회 ,0702, ,3922,598 2회2회2회2회 ,0702, ,0702,909 3회3회3회3회 ,0702, ,0702,911 K100 1회1회1회1회 ,24648, ,24648,141 2회2회2회2회 ,24648, ,17645,403 3회3회3회3회 ,24648, ,24648,404

Database Systems Laboratory 77 결 론 (1) $/QPS (Price per Queries Per Second) $/QPS (Price per Queries Per Second) 실험에 사용한 하드웨어 및 소프트웨어 가격정 보 불충분으로 제시하지 못함 실험에 사용한 하드웨어 및 소프트웨어 가격정 보 불충분으로 제시하지 못함 수행 결과 수행 결과 질의 수행 결과를 파일로 제공 질의 수행 결과를 파일로 제공 질의 수행 시 응답시간, CPU 사용시간, 논리적 / 물리적 읽기 블록 수의 결과를 질의당 파일에 기록하여 제공 질의 수행 시 응답시간, CPU 사용시간, 논리적 / 물리적 읽기 블록 수의 결과를 질의당 파일에 기록하여 제공

Database Systems Laboratory 78 결 론 (2) 질의 수행 결과 검증 질의 수행 결과 검증 Set Query 논문 부록 A 의 결과와 동일한 결과 Set Query 논문 부록 A 의 결과와 동일한 결과 Set Query 논문의 데이터 생성기 알고리즘으로 구 현한 데이터의 올바름을 입증 Set Query 논문의 데이터 생성기 알고리즘으로 구 현한 데이터의 올바름을 입증 시스템 통계 시스템 통계 CPU 사용시간, 논리적 / 물리적 읽기 블록 수 CPU 사용시간, 논리적 / 물리적 읽기 블록 수 Set Query 논문에서는 DBMS 제공 툴 사용 수집 Set Query 논문에서는 DBMS 제공 툴 사용 수집 Oralce 9i 에서 제공하는 view 테이블 이용 수집 Oralce 9i 에서 제공하는 view 테이블 이용 수집