L
o
a
d
i
n
g
.
.
.

ホーム

お知らせ

製品・ソリューション

サービス

導入事例・パートナー

EXEM Academy・ブログ

会社情報

採用情報

2018.09.25

DUAL

目次

  • 1. 概要
  • 2. Analysis Case


  • 概要

    Oracleにより自動生成されたDummyテーブルです。
    SYSスキーマに存在しますが、DUALという名前で、すべてのユーザーが使用することができます。
    ユーザー計算やユーザー関数を使用する場合に便利であり、select1 from dual;を実行して、WASのDBとの接続を確認するために使用されることもあります。


    DUALテーブル実行過多解決


    DUALテーブル実行過多解決

    Oracleのパフォーマンス監視/分析ソリューションであるマックスゲージのPerformance Analysisを通じて日中のログを確認して見ましょう。

    翻訳図

    図のように1分間特定のセッションがグループ化された結果、Execution回数が毎分22万回以上で表示され、DUALテーブルの繰り返し使用が発生しています。

    SQL実行回数過多の問題は、Loop Queryを単一のSQLに変更することが望ましいのです。

    特に、上記のようにDUAL表について繰り返し実行する場合には、DUALテーブルのルックアップの負荷を減少させるためにSYS.X$ DUALを利用する方法があります。DUAL表を多く参照する環境に便利に使うことができます。


    X$ DUAL vs DUAL

    SYS> create or replace view xm$dual as select dummy from sys.x$dual;
    SCOTT> SELECT dummy into :v_dummy FROM DUAL;
    SCOTT> SELECT dummy into :v_dummy FROM XM$DUAL;
    

    それぞれのSQLを100,000回LOOP実行
    DUAL= Response Time:7.6秒
    XM$ DUAL= Response Time:4.3秒
    


PHP Code Snippets Powered By : XYZScripts.com