2009年3月18日星期三

xplan oracle (pp rocks)

pp -e 'use DBI; $db=DBI->connect(q(dbi:Oracle:),q(),q(),{ora_session_mode=>2}); $db->do(qq(explain plan for @{[<>]})); print qq($_\n) for grep {m{^\|}} @{$db->selectcol_arrayref(q(select * from table(dbms_xplan.display)))}' -o bin/xplan

pp -e 'while (<>) { @F=split q(\|); $F[2]=~s{(^ +)}{(my $t=$1)=~tr{ }{_};$t}e; map s{(.*)}{<nowiki>\1</nowiki>}, @F[2,3];print join q(|),@F if !/^-/ }' -o bin/wikiplan

echo 'select * from dual' | xplan
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
echo 'select * from dual' | xplan | wikiplan | xclip

paste to tiddlywiki this result with mouse middlekey, and this appeared:

Id _Operation Name RowsBytesCost (%CPU)Time
0_SELECT STATEMENT
122 (0)00:00:01
1__TABLE ACCESS FULL DUAL 122 (0)00:00:01

没有评论: