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
운영게시판
최근게시물
Oracle Q&A 22802 게시물 읽기
No. 22802
고수분들의 도움을 요청합니다.
작성자
급한이
작성일
2005-05-26 21:21ⓒ
2005-05-27 10:48ⓜ
조회수
1,830

급한 사정으로 과제를 할 시간이 없게 됬습니다. 고수분들의 도움이 급히 필요합니다. 문제풀이 도와주세요

학번 뒷자리는 2637 입니다.

 

 

2. 자신의 학번에 따라 테이블과 인덱스를 생성하고 스크립트를 보이시오.
---------------------------------------------------------------------------------------------------

- table scheme : hw04(sorted int, random int, padding varchar2(650))

- column : (sorted random, padding)의 세 컬럼 생성
sorted INT, -- 순차적인 정수값
random INT, -- 난수
padding varchar(650) -- 패딩

- # of tuples : 자신의 학번 마지막 4자리 수의 튜플을 생성
ex) 1998312338 -> 2338개의 튜플 생성

- index : sorted와 random 두 컬럼에 대해 인덱스 생성, 인덱스 이름은 다음과 같다.
hw04_idx_sorted,
hw04_idx_random

-- 테이블 정보 분석 (이때 CLUSTERING FACTOR등 기본적인 테이블 정보가 계산된다.)








---------------------------------------------------------------------------------------------------
3. 1번에서 생성한 테이블의 정보를 보이고
HW04_IDX_SORTED와 HW04_IDX_RANDOM의 clustering factor가 다른 이유룰 설명하고
clustering factor를 계산하는 방법에 대해 간략히 설명하시오.
(실습자료를 참고하여 같은 형식으로 보이시오.
한줄에 모든 정보가 나타나지 않을 것이다. 이 문제는 수업홈페이지 using SQL*Plus 참고자료를
보면 column format을 변경하는 부분 참고)
---------------------------------------------------------------------------------------------------

format :

TABLE INDEX NUM_ROWS LEAF_BLOCKS DATA_BLOCKS DATA_BLKS/KEY LEAF_BLKS/KEY C_FACTOR
----- --------------- -------- ----------- ----------- ------------- ------------- --------
xxxx xxxxxxx xxxx xxxxx xxxxx xxxx xxxx xxxx







---------------------------------------------------------------------------------------------------
4. 1번에서 생성한 테이블에 대해 아래 쿼리들의 실행계획을 보이시오.
---------------------------------------------------------------------------------------------------

- 쿼리 수행 전 아래 명령어를 꼭 수행한다.
ALTER SESSION SET OPTIMIZER_FEATURES_ENABLE = '9.2.0';
set autot trace


-- query 1
SELECT sorted, random
FROM hw04
WHERE sorted = MOD(자신의 학번, 100);

-- query 2
SELECT sorted, random
FROM hw04
WHERE random = MOD(자신의 학번, 100);

-- query 3
SELECT sorted, random
FROM hw04
WHERE sorted BETWEEN 1 AND MOD (자신의 학번, 1000);

-- query 4
select /*+ index(hw04, hw04_idx_sorted) */ sorted, random
from hw04
where sorted between 1 and mod(자신의 학번,1000);

-- query 5
SELECT sorted, random
FROM hw04
WHERE random BETWEEN 1 AND MOD (자신의 학번, 1000);

-- query 6
SELECT /*+ index(hw04, hw04_idx_random) */ sorted, random
FROM hw04
WHERE random BETWEEN 1 AND MOD (자신의 학번, 1000);







---------------------------------------------------------------------------------------------------
5. 위에서 작성된(4번문제) 쿼리들의 실행계획의 비용을 분석하시오.
---------------------------------------------------------------------------------------------------

- full table scan비용 계산 시 multiblock-read는 10으로 한다.

- 비용 계산시 1-2정도의 비용오차가 발생할 수 있는데 왜 이러한 오차가 나타나는지에 대해 각자의 생각을 나타내시오.

ex)
SELECT sorted, random
FROM hw04
WHERE sorted BETWEEN 1 AND MOD (1998312338, 1000);

338 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=25 Card=338 Bytes=2028)
1 0 TABLE ACCESS (FULL) OF 'HW04' (TABLE) (Cost=25 Card=338 Bytes=2028)


TABLE INDEX NUM_ROWS LEAF_BLOCKS DATA_BLOCKS DATA_BLKS/KEY LEAF_BLKS/KEY C_FACTOR
----- --------------- -------- ----------- ----------- ------------- ------------- --------
HW04 HW04_IDX_SORTED 2,338 5 244 1 1 234
HW04 HW04_IDX_RANDOM 2,338 5 244 1 1 2,325



cost :: 244/10 = 24.4 => 25

[Top]
No.
제목
작성자
작성일
조회
22805TOAD에서 테이블과 데이터 카피 방법 문의 [1]
서정범
2005-05-27
5631
22804리스너 관련 질문 [2]
이문정
2005-05-27
2369
22803실제 데이터베이스의 일부 구현...
나무꾼
2005-05-26
1042
22802고수분들의 도움을 요청합니다.
급한이
2005-05-26
1830
22800trunc에 대해서... [1]
ych3372
2005-05-26
2163
22799쿼리 한번 봐주세요~~~!!!!! [1]
제발제발..
2005-05-26
1635
2279810g 서버 설치후, 랜연결만 하면 서버 Connection Error [1]
이문정
2005-05-26
1858
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다