?????. DB2 ? XpertMon ??? ???!
? ????????? DB ??????.
?? ??? WS II ? ?? ??? ??? ???? ??? ?? ???????.
?? ??? ?? ?? ?? WS II ? ?? ?? ??? ?? ?? ?? ?? ?????
?????.
?? ?
??? ? ??? ?? ??? ?? ? ?? ????? ?? ??? ??? ??? ???
?? ?? ??? ?????. ??? ??? ??? ?? ???? ?? ? ? ????.
- ?? ?? ? ?? ??
WS II? ?? ??? ??? ? ? ?? ?? ? ? ?? ?? ?? ??? ???
?? ??? server option? ??? ??? ?? ?? ?????.
- ??? ?? ??
?? ??? ??? ?? ??? ???? ??? ??????.
- ?? ??
?? ??? ??? ??? ??? WS II? ?? ? ? ??? ???? ??? ???.
- Nickname ????
- ??? ??
- Nickname? ?? MQT
?? ?? ??? ?? ???????.
- PUSHDOWN : ??? ?? ??? ??? ?? ??? ?????.
(???? ‘Y’ ???.)
- COLLATING_SEQUENCE : ??? ?? ???? ?? ?? ??? ??? ‘Y’?
??????. (???? ‘N’ ???.)
- DB2_MAXIMAL_PUSHDOWN : cost? ???? PUSHDOWN? ?????.
??? ?? ????? ????? ????. (???? ‘N’ ???.)
- COMM_RATE, CPU_RATIO, IO_RATIO : ?? CPU / IO ? WS II ? ?? ???
???? ?? link ??? ?? ??? ?????.
- PLAN_HINTS : Oracle ??? ??? ?? Hint??? WS II? ????? ??
???? ???. (????? ????.)
?? ??? ??? ????.
- VARCHAR_NO_TRAILING_BLANKS : Oracle ??? ??? VARCHAR ?? ????
????? ??? ??? ??? ?? ?????. ????? ??? ??? ???
‘Y’? ??????.
- NUMERIC_STRING : ???? ??? ???? ???? ??? ‘Y’? ??????.
‘Y’? ???? COLLATING_SEQUENCE? ? ??? ???? ??? ?? ????.
??? ???? ? ???? ?? ??? ???????.
COLLATING_SEQUENCE ? WS II? ?? ??? ??? ??? ?? ??? ??? ???
?????. ‘Y’? ????, SORT? PUSHDOWN ???, ?? ??? ??? ???? ??
? ? ????.
?? ??,
SELECT COUNT(*) .... WHERE p_name > ‘F’;
?? ??? ??? ? ? ????? ??? ?? Explain tree ? ??? ?? ???
?????.
COLLATING_SEQUENCE=’N’ COLLATING_SEQUENCE=’Y’
COLLATING_SEQUENCE ? ???? ‘N’ ???. ?? ???? ????, WS II?
????? ??? ?? ???? ??? ? ?? ??? ???? ????. ?? ????,
???? ???? ???, ?? ? ??? ??? ?? ??? ????? ????.
?? ? order by? ???? ???? ?? ??? ??? ?? ? ? ????.
??? ??? ???? ??? ?? ?? ?? ??? ? ???, ??? ??? ? ???
???? ????.
??? ??? ?? COLLATING_SEQUENCE? ‘Y’? ???? ?? ??? ?? ?????
??? ? ????.
DB2_MAXIMAL_PUSHDOWN ? ? ?? ??? ??? ? ????.
???? ?? ???? ???? ?? ??? ?? ?? ??? ????? ?? ???,
????? ???? ??? ????. ????? ???? ?? ?????.
? ????? ‘Y’? ???? ?????? ???? ???? ?? SQL? ?? ???
??? PUSHDOWN ? ????. ???, PUSHDOWN? ??? ???, ?? ???
?? ???? ??? ?? ?????.
???? PUSHDOWN? ??? ??? ?? ??? ????? ???.
?? ??, ??? ?? A?? ??? A1? A2, ??? ??? ?? B?? B1? join ?? ?
??, A1-B1? ?? ?? ?? ?? ? ????.
? ?, DB2_MAXIMAL_PUSHDOWN? ‘Y’? ???? ??? ??? ???? ???.
A1-B1 join? ?? ??? ??? plan DB2_MAXIMAL_PUSHDOWN=’Y’? ?? ??? plan
DB2_MAXIMAL_PUSHDOWN ? PUSHDOWN? ???? ??? ???? ??, ?? ???
?? ??? ? ????. PUSHDOWN? ???? ??, ? ????? ‘Y’? ??? ???
PUSHDOWN? ????? ?? ??? ???? ?? ??? ??? ? ???, ?? ???
???? ??? ??? ??? ???, ?? ??? ?? ???? ??? ??? ? ????.
??? ???? ???? ?? ? ????, session ??? ???? ???? ??
?????. (SET SERVER OPTION ??? ???? ???.)
VARCHAR_NO_TRAILING_BLANKS? ?? ?? ? ?? ???? ??? ? ????.
DB2 ??? ‘HELLO’ ? ‘HELLO????’ ? ?? ??? ?????. ??? Oracle ???
‘HELLO’ ? ‘HELLO????’ ? ??? ?? ??? ?????.
??? VARCHAR??? ????? ??? ???? ?? ??? ?? ???, WS II?
????? ??? ? ???? ???? ???.
? ????? ???
‘Y’? ??? ??? ?? ????,
‘N’? ????? ??? ??
?????. ?? ????? ????.
???? ‘N’?? ???? ????. ? ?? ‘Y’? ???? ???? ??? ? ? ???,
??? ????? ???? ???? ?? ??? ????, ?? ??? ???? ???
???? ??? ????? ????.
? ????? ?? ???? ???? ??, ?? ??? ?? ?? ???? VARCHAR ???
???? ??? ???? ??? ????? ? ? ?? ????? ????.
VARCHAR_NO_TRAILING_BLANKS ? ??? ?? ?? ?????.
SELECT COUNT(*) FROM ora1.part WHERE p_name = ‘cornflower’;
??, Explain tree ? ??? ???? ??? ????.
???, VARCHAR_NO_TRAILING_BLANKS=’Y’?
????? PUSHDOWN ?? ??? ??? ????.
SELECT COUNT(*) FROM “ORA”. “PART” A0
WHERE (A0. “P_NAME”=’conflower’)
?? ?? ??? ????? ????, ??? ??? ???? ????.
??? ??? ??? ???.
?? VARCHAR_NO_TRAILING_BLANKS=’N’? ???????, PUSHDOWN ?? ???
??? ????.
SELECT COUNT(*) FROM “ORA”.”PART” A0
WHERE (RPAD(‘cornflower’,55,’ ‘)= RPAD(A0.”P_NAME”,55,’ ‘))
?? ??? ??????? ??? ??? ?????, P_NAME? ???? ???? ??
????? ??? ?????.
?? ??? ?? ???? ?? ??? ?? ??? ??? ? ? ????.
?? ??, Oracle ? DATE ??? ????? DB2? TIMESTAMP ???? ?????.
???,... WHERE
>= DATE(‘2005-12-20’)? ????
????. WHERE CAST( as DATE ) = DATE(‘2005-12-20’)? ???
??? ??? CAST ? PUSHDOWN?? ?? ??? ?????.
????? ?? ?? ??? ?????? ?? ???, ?? ??? ???? ??? ???
??? ??? ?? ?????.
???? ??? ??? ????.
ALTER NICKNAME ALTER COLUMN LOCAL TYPE DATE;
?? ?? ????, Oracle ? DATE ?? ??? ??? DATE ???? ?????.
??????, ???? Oracle DATE ??? timestamp ??? 0??? ???? ???,
DB2? ??? ????. ??? ??? ?, CAST ?? ??? ?? ????? ??? ???.
?? ??? ?? ??? ??? WS II? join? ??? ?? ?? ?????. ??? ???
???? ?? hash join ?? ???? ?? ????? ?????.
?? ?? ??? ????, Oracle? NUMBER ??? NUMBER(10)?? ???? 32???
INTEGER ?? ???. ??? ????? Oracle? NUMBER? DECIMAL(10)?? ?????.
??? ?? Oracle? ???? 232-1 ?? ?? ????, ? ??? INT? ???? ???
INT ??? join? ???? ??? ?? ????.
?? ??? ?? ??? ??? ?? ??? ?? ??? ?? ???? ?? WS II??
???? ????. ??? ????? ??? ?? ???? ???.
?? ???? ?? ?? ?? ???, ??? ???? ???? ?? ??? ??? ????
?? ??? ??? ?? ?? ????. ?? ??? ????? ?? ? ?? ??, Wrapper
???? ?? ??? ?? ?? ? ?? ????.
?? ??, ?? ??? ??? ?? ?? function_remote(arg1, arg2)? ??, ?? ????
?? ?? function_local(x, y) ? ??? ?????.
??? ?? ?? ??? ?????.
CREATE FUNCTION MAPPING my_mapping FOR function_local(char, int) SERVER
my_server OPTIONS ( REMOTE_NAME ‘function_remote’);
?? ?? ?? ? ?, SELECT function_local(x, y) from ? ????,
? ??? ??? PUSHDOWN ???.
?? ??? PUSHDOWN ??? ???? ??? ??? ??? DB2_MAXIMAL_PUSHDOWN ?
‘Y’? ???? ??? ? ? ????.
?? PUSHDOWN?? ????, ?? ?? ??? ??? ???? ??? ???,
???? ?? ??? ???? ???? ?? ?????.
?? ?? ??? ??? ?? ?????, ??? ?? ? ??? ?? ?? ??? ??? ???.
WS II ????? ?????? ??? ?? ?? ???????.
- ??? ? ???? ?? WSII ????? ?? ?????? ?? ??? ?? ???.
- Nickname ? ??? ????? ???? ?? ???, ??? ???? ???? ????.
- Federated Query ? ???? ?? ??? ??? ?? ? ?? ??? ?? CPU? ??? ???
- ??? PUSHDOWN ?? ?? Federated Query? ???? ???? SORTHEAP?
?? ??? ????(???)? ??? ???.
DB2? Nickname ????? ????? ???? ?????.
? ????? Nickname???? ???? ???. ??? Nickname? ????? ??
?? ??? ???? ????? ??? ? ?? ?????. ??? Nickname? ?????
????? ???? ??? ?? ??? ???? ??? ????? ??? ?? ????.
??, EXPLAIN ??? ??? ?? ????, Nickname? ????? ???? ??? ? ?
????. Nickname? ??? ????? 1,000 ??? ?? ?????.
????? ??? ??? ?? ???? ??? ??? ????.
?? ?, Alias ?? ????? ???? ????.
??, EXPLAIN ??? ??? ??? ????, Nickname? ????? ??? ? ???
????. WS II? ?? ?? ??? ??? ?? ?? ??? ????? ????? ????.
? ?? ????? ??? ??? ????.
- CARD = ???? ??
- COLCARD = ???? ??? ?? ??? ?(distinct value)? ??
- High2key/Low2key = ?? ??? ? ?? ? ?/?? ?
- FIRSTKEYCARD = ???? ? ? ?? ??? ?? ??? ?(distinct value)
- FULLKEYCARD = ???? ?? ??? ?? ??? ?(distinct value)
??? ????? ?? ?? ?? ?????.
? | ?? |
SYSSTAT.COLUMNS | COLCARD, HIGH2KEY, LOW2KEY |
SYSSTAT.TABLES | CARD |
SYSSTAT.INDEXES | FIRSTKEYCARD, FULLKEYCARD |
??, Nickname ? ????? ??, NNSTAT()?? ???? ?? ??, ?? ??? ???
?????? ????? ???? ??? ? ? ????.
?? ??? ?? ??? ?? Nickname? ????? ?? ? ?????.
SLECT CHAR(COLNAME,20) AS COLNAME,
COLCARD, CHAR(HIGH2KEY,33) AS HIGH,
CHAR(LOW2KEY,33) AS LOW
FROM SYSSTAT.COLUMNS
WHERE TABSCHEMA=’’
AND TABNAME=’’;
?? ??? ????? ?? ???? ??? ?? SQL?? ???? ?????.
UPDATE SYSSTAT.COLUMNS SET
COLCARD=’’,
HIGH2KEY=’’,
LOW2KEY=’’
WHERE COLNAME=’’
AND TABNAME=’’
AND TABSCHEMA=’’;
CREATE NICKNAME ??? Nickname? ??? ? ??? ?? ?? ???? ?????
WS II ??? ?????.
??? ? ??? ? ????? ???? ???? ??? ?? ????
? ?? ??? Nickname? drop ? ?, ?? ???? ??? ????.
??? ?? ?? ??? ????. ?? ?? ?? Nickname ? ???? ???? invalid
?? ??, ????? ???? ???.
? ?? ??? WS II V8.2 ?? ??? ??? NNSTAT() ??? ???? ?????
???? ?????. ?????? Update Statistics ? ???? ??? ?????,
?? ?? NNSTAT()? ????? ???? ????.
??? ?? ???? ????? ????. ?? ??? ??? ???? ?? ?????
???? ?? ?, ??? ????? ???? ?? ????. DB2? runstat ???
Nickname?? ???? ????. ?? ??? ??? ?? ????? ?? ?????
???? ???? getstats ?? ?? ???? ???.
getstats? ?? ??? ??? ????? ?? ????? ???? ????. ?? ???
?? ????? ???? ? ????? ???? ?? ????. NNSTAT() ????
???? ??? ??? ?? ????? ?? ????? ?? ?? ???? getstats ?? ?????.
?? ??? NNSTAT() ???? ????? ??? ????? ???????.
Nickname? ?? NNSTAT() ???? ????? ????, ??? ?? ????? ??
?? Nickname? ?????. ?? Nickname? ???? ???? (CREATE NICKNAME)
?? ????? ?? ????? ?????. ?? ????(??? ??? ????)?
?? Nickname? ????? ??, ??? ?????. ?? ??? ????? ????,
getstats ?? ???? ????? ???? ?????. ?, NNSTAT()? ????
Nickname? ??? ?? ???? ???? ?? ??? ???? ????.
Nickname ? ?? ?? ???? ???? ????. ?? ?? ??? ??? ????
???? ??? ????? ??? ????. ????? ?? ???? ?? ???
Nickname ???? ?????. Nickname ?? ??? ?? ????? ??? ????
???, view, synonyms, ???? ????? ?? ??? ??? ?? ?? ????.
?? ??, ?? ????? ?? ??? ??? WS II?? ??? ? ?? ??? ????.
?? ??? ??(index specification)??? ???. ??? CREATE INDEX ?? ?????.
??? ??? ?? ????? ?? ??? ???? ??? ??? ??? ?, ?? ????
????? ????? ????. ?? ?? NNSTAT() ???? ????? ??? ?????
??? ???? ????? ?????.
?? ??? ?? ? ??? ??? MQT? ???? ????. join? ?? ?? ? Nickname?
?? ??? ??? ?? ???? ???? ? ??? ?? ???? ??? ??? ????
??? ? ?? ???.
?? ??? ????? DEFERRED REFRESH ? ??? ‘??? ??’ ? ??? ??
???? ???? ‘??? ??’ ??? ????.
V8.2? ????? ‘Cache Table Wizard’? ???? ??? ????.
?? ???? ?? MQT? ???? ??? ????? ??? ? ?? ??? ???????.
- ??? fact ???? ??, ??? dimension ???? ?? ??,
dimension ???? ?? ??? ??? ?? ?? ?? ???? ?? ??? ?? ?
????.
- ?? fact ???? ?? ??? ?? dimension ???? prejoin? ????
fact ???? ?? ? ?? ?? ??? ??? ?? ???.
- ?? fact ???? ?? ??? dimension ???? ?? ??? ???? ??
??? ?? ???? ???? ?? ???? ??? ? ??? ???.
XpertMon for DB2 UDB V2
DB ???
Tel : 02-2108-1458
Fax : 02-2108-1459
Mobile : 011-896-6545
E-mail : hjlee@iteg.co.kr
URL : http://iteg.co.kr