0

IBM Data Studio でストアド プロシージャを説明するにはどうすればよいですか?

コマンドが存在することは知っていますdb2expln。しかし、グラフィカル インターフェイスで SP を説明するソリューションが必要です。

また、クエリを選択して右クリックするとopen visual explain、説明を行うメニューが存在することはわかっていますが、そのSPの入力値を設定できるようにSPを説明する方法がわかりません。

ありがとう

4

1 に答える 1

1

私があなたの要件を正しく理解していれば、その手順内のクエリの計画を説明したい手順があります。私の考えを説明するために、いくつかの偽物を発明します。

create table t 
(  x int not null primary key
,  y int not null) @

create procedure p (n int)
language sql
begin
    declare c cursor for
    select count(1) from t where y = n;
end @

カーソル内のクエリの計画を説明したいとします。

db2 "explain plan for select count(1) from t where y = n"
[...]
SQL0206N  "N" is not valid in the context where it is used.  SQLSTATE=42703

n はバインドされていないため、コンパイラは文句を言います。ただし、 n をホスト変数またはパラメーター マーカーに変更しても問題ありません (「:」に注意してください)。

db2 "explain plan for select count(1) from t where y = :n"

また:

db2 "explain plan for select count(1) from t where y = ?"

これで、db2exfmt を使用して計画を確認できます。

db2exfmt -d sample -g -1 | tee q.plan

Access Plan:
-----------
Total Cost:         0.00644873
Query Degree:       1

            Rows 
           RETURN
           (   1)
            Cost 
             I/O 
             |
              1 
           GRPBY 
           (   2)
          0.0063121 
              0 
             |
              0 
           FETCH 
           (   3)
         0.00627372 
              0 
       /-----+-----\
      0               0 
   IXSCAN    TABLE:    LELLE   
   (   4)             T
 0.00613403          Q1
      0 
     |
      0 
INDEX:    SYSIBM  
SQL141230182649950
        Q1

db2exfmtよりもはるかに優れたツールを見つけることができると思いますdb2expln。計画の詳細が得られます。

于 2014-12-30T17:42:52.433 に答える