ttSQLCmdQueryPlan

このプロシージャは、TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。 引数を指定しないと、このプロシージャはTimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。コマンドが無効である場合には、エラーが返され、問合せおよび構文の問題を指摘するテキストが表示されます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このプロシージャは、TimesTen Classicでサポートされています。

TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。

TimesTen Scaleoutの場合、このプロシージャは、コール元の要素に対してローカルに実行されます。

関連ビュー

このプロシージャには、次の関連ビューがあります。

SYS.GV$SQL_CMD_QUERY_PLAN

SYS.V$SQL_CMD_QUERY_PLAN

構文

ttSQLCmdQueryPlan([sqlCmdID])

パラメータ

ttSQLCmdQueryPlanには、次のオプションのパラメータがあります。

パラメータ 説明

sqlCmdID

TT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。

結果セット

ttSQLCmdQueryPlanは次の結果セットを返します。

説明

sqlCmdID

TT_BIGINTNOT NULL

TimesTenコマンド・キャッシュでのコマンドの一意の識別子。

queryText

TT_VARCHAR(409600)

現在のコマンドのSQLテキストの最初の1024文字。

step

TT_INTEGER

このランタイム問合せ計画の現在の処理のステップ数。

level

TT_INTEGER

このランタイム問合せ計画の現在の処理のレベル数。

operation

TT_CHAR(127)

このランタイム問合せ計画の現在のステップの処理名。

tableName

TT_CHAR(31)

このステップに使用されている表の名前(存在する場合)。

表名の指定にシノニムは使用できません。

tableOwnerName

TT_CHAR(31)

このステップに使用されている表の所有者の名前(存在する場合)。

indexName

TT_CHAR(31)

このステップに使用されている索引の名前(存在する場合)。

indexedPred

TTVARCHAR(1024)

このステップでは、索引が使用される場合、索引付けされた条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。"..."は、式の未終了の部分を表します。

nonIndexedPred

TT_VARCHAR(1024)

このステップでは、索引付けされていない条件が使用される場合、その索引付けされていない条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。 "..."は、式の未終了の部分を表します。

miscellaneous

TT_VARCHAR (65536)

制約のタイプおよび制約に関するその他の情報。制約タイプは次のいずれかになります。

ForeignKeyInsert - 外部キーを挿入します。

ForeignKeyDelete - 外部キーを削除します。

UniqueKeyInsert - 一意キーを挿入します。

ForeignKeyOrphanChild - 外部キー制約において親が失われている状況に対処します。

ForeignKeyCascadeDelete - カスケード削除に対応する行を削除します。

ForeignKeySyncCascadeDelete - 同期レプリカからカスケード削除に対応する行を削除します。

SQLCmdID 528078576の問合せ計画を表示するには、次のコマンドを実行します。

Command> call ttSqlCmdQueryPlan(528078576);
< 528078576, select * from t1 where 1=2 or (x1 in 
(select x2 from t2, t5 where y2 in (select y3 from t3)) 
and y1 in (select x4 from t4)), <NULL>, <NULL>, <NULL>,
 <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528078576, <NULL>, 0, 4, RowLkSerialScan , T1 , SAMPLEUSER , , , >
< 528078576, <NULL>, 1, 7, RowLkRangeScan , T2 , SAMPLEUSER , I2 , , >
< 528078576, <NULL>, 2, 7, RowLkRangeScan , T5 , SAMPLEUSER , I2 , , >
< 528078576, <NULL>, 3, 6, NestedLoop , , , , , >
< 528078576, <NULL>, 4, 6, RowLkRangeScan , T3 , SAMPLEUSER , I1 , 
( (Y3=Y2; ) ) , >
< 528078576, <NULL>, 5, 5, NestedLoop , , , , , >
< 528078576, <NULL>, 6, 4, Filter , , , , , X1 = X2; >
< 528078576, <NULL>, 7, 3, NestedLoop(Left OuterJoin) , , , , , >
< 528078576, <NULL>, 8, 2, Filter , , , , , >
< 528078576, <NULL>, 9, 2, RowLkRangeScan , T4 , SAMPLEUSER , I2 , , 
Y1 = X4; >
< 528078576, <NULL>, 10, 1, NestedLoop(Left OuterJoin) , , , , , >
< 528078576, <NULL>, 11, 0, Filter , , , , , >
13 rows found.

すべての有効な問合せの問合せ計画を表示するには、次のようにttSqlCmdQueryPlanの引数を省略します。

< 528079360, select * from t7 where x7 is not null 
or exists (select 1 from t2,t3 where not 'tuf' like 'abc'), 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528079360, <NULL>, 1, 3, RowLkRangeScan  , T2 
 , SAMPLEUSER  , I2 , , NOT(LIKE( tuf ,abc ,NULL )) >
< 528079360, <NULL>, 2, 3, RowLkRangeScan  , T3  , SAMPLEUSER  , 
I2  , , >
< 528079360, <NULL>, 3, 2, NestedLoop  ,  ,  ,  , , >
< 528079360, <NULL>, 4, 1, NestedLoop(Left OuterJoin) ,    ,    ,    , , >
< 528079360, <NULL>, 5, 0, Filter    ,    ,    ,    , , X7 >
< 527576540, call ttSqlCmdQueryPlan(527973892), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527576540, <NULL>, 0, 0, Procedure Call  ,  ,  ,  , , >
< 528054656, create table t2(x2 int,y2 int, z2 int), <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, insert into t2 select * from t1, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, <NULL>, 0, 0, Insert  , T2  , SAMPLEUSER  ,  , , >
< 528013192, select * from t1 where exists (
select * from t2 where x1=x2) or y1=1,
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528061248, create index i1 on t3(y3), <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528070368, call ttOptSetOrder('t3 t4 t2 t1'), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528070368, <NULL>, 0, 0, Procedure Call  ,  ,  ,  , , >
< 528018856, insert into t2 select * from t1, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, call ttsqlCmdCacheInfo(527973892), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, <NULL>, 0, 0, Procedure Call   ,    ,    ,    , , >
….. /* more rows here */