2010年10月17日日曜日

V$SQLTEXT_WITH_NEWLINES

こんな時間に仕事で調査をしています。

ちなみに引こうとしているSQL文は20M程度。

<br />select address,hash_value,sql_text from v$sqltext_with_newlines where<br />hash_value=514958513 and piece=0<br />


10分まっても返ってこない遅すぎる。これじゃ使えないなー。

9iR2だと超遅い。CPUぎゅんぎゅん使っている。

11gR2では問題なし

で実行計画をみてみると

9iR2(9.2.0.7) - Solaris
<br />select address,hash_value,sql_text from v$sqltext_with_newlines where<br />hash_value=514958513 and address ='00000003AEE4D2A0' and piece =0<br /><br />call     count       cpu    elapsed       disk      query    current        rows<br />------- ------  -------- ---------- ---------- ---------- ----------  ----------<br />Parse        1      0.00       0.02          0          0          0           0<br />Execute      1      0.00       0.00          0          0          0           0<br />Fetch        2    576.44     580.41          0          0          0           6<br />------- ------  -------- ---------- ---------- ---------- ----------  ----------<br />total        4    576.44     580.43          0          0          0           6<br /><br />Misses in library cache during parse: 1<br />Optimizer goal: CHOOSE<br />Parsing user id: SYS<br /><br />Rows     Row Source Operation<br />-------  ---------------------------------------------------<br />      6  FIXED TABLE FIXED INDEX X$KGLNA1 (ind:1)<br /><br /><br />Elapsed times include waiting on following events:<br />  Event waited on                             Times   Max. Wait  Total Waited<br />  ----------------------------------------   Waited  ----------  ------------<br />  SQL*Net message to client                       2        0.00          0.00<br />  SQL*Net message from client                     2      160.15        161.76<br />

11gR2(10.2.0.1) - Linux
<br />実行計画<br />----------------------------------------------------------<br />Plan hash value: 1071942064<br /><br />--------------------------------------------------------------------------------------------<br />| Id  | Operation               | Name             | Rows  | Bytes | Cost (%CPU)| Time     |<br />--------------------------------------------------------------------------------------------<br />|   0 | SELECT STATEMENT        |                  |     1 |    58 |     0   (0)| 00:00:01 |<br />|*  1 |  FIXED TABLE FIXED INDEX| X$KGLNA1 (ind:1) |     1 |    58 |     0   (0)| 00:00:01 |<br />--------------------------------------------------------------------------------------------<br /><br />Predicate Information (identified by operation id):<br />---------------------------------------------------<br /><br />   1 - filter("KGLNAHSH"=3933222116 AND "PIECE"=0 AND "KGLOBOCT"<>0 AND<br />              RAWTOHEX("KGLHDADR")='0000000088E9FF90' AND "INST_ID"=USERENV('INSTANCE'))<br /><br />


11gR2ではX$KGLNA1を使っているようですね。
問題なしです。


9iR2ではもしかしてFULL SCANでもしているのかと思いきや一緒じゃないですか。。。
FETCHでCPUを使っている状況はどうやってチューニングするんだよー?
Process Spinぽい予感がしますねー

BUG情報でも探します。


Process Spinじゃない? よし、ちょっとBUGをみてみるか


コストベースオプティマイザ記事

Cost Control: Inside the Oracle Optimizer

CLUSTERING_FACTORについて何か記事がないかなと思ってgoogle先生
にて聞いてみたらこんな記事があったので一応備忘として、書きとめておきます。

わかりやすくコストベースオプティマイザについて書かれています。
書いているのはちょっと強面のBurlesonさんでした


2010年10月16日土曜日

scribeFire

いいものみつけた!!

これで書くのが楽ちん、楽ちん。
#Blog Editorなるものが、あること最近しりました。。。

Firefox + Vimperatorなのでちょうどいいや。

うんうん。

ただいま、東海道線に揺られながら本文を書いています。