Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » クエリとデータ修正 » クエリ » 高度:クエリ実行プラン

 

長いテキストプランの表示 (SQL の場合)

長いテキストプランでは、文のキャッシュされたプランなどの、短いテキストプランよりも詳細な情報が、印刷しやすくスクロールなしで表示できるフォーマットで提供されます。

前提条件

その関数が実行されるオブジェクトの所有者であるか、または、そのオブジェクトに対する SELECT、UPDATE、DELETE、INSERT のうち、いずれか適切な権限を持っている必要があります。

 ♦ タスク
  1. データベースに接続します。

  2. PLAN 関数を実行します。

結果

長いテキストプランは、Interactive SQL の [結果] ウィンドウ枠に表示されます。

この例では、長いテキストプランは次の文に基づいています。

SELECT PLAN ('SELECT GivenName, Surname, OrderDate, Region, Country
FROM GROUPO.Customers JOIN GROUPO.SalesOrders ON ( SalesOrders.CustomerID = Customers.ID )
WHERE CustomerID < 100 AND ( Region LIKE ''Eastern''
      OR Country LIKE ''Canada'' )
ORDER BY OrderDate');

長いテキストプランは次のように表示されます。



( Plan [ Total Cost Estimate: 6.46e-005, Costed Best Plans: 1, Costed Plans: 10, Optimization Time: 0.0011462, 
Estimated Cache Pages: 348 ] 
  ( WorkTable 
    ( Sort 
      ( NestedLoopsJoin
        ( IndexScan Customers CustomersKey[ Customers.ID < 100 : 0.0001% Index | Bounded ] )
        ( IndexScan SalesOrders FK_CustomerID_ID[ Customers.ID = SalesOrders.CustomerID : 0.79365% Statistics ]
          [  ( SalesOrders.CustomerID < 100 : 0.0001% Index | Bounded )  
          AND  ( ( ((Customers.Country LIKE 'Canada' : 100% Computed) 
          AND (Customers.Country = 'Canada' : 5% Guess)) 
          OR ((SalesOrders.Region LIKE 'Eastern' : 100% Computed) 
          AND (SalesOrders.Region = 'Eastern' : 5% Guess)) ) : 100% Guess )  ] )
      )
    )
  )
)

Plan という語はクエリブロックの開始を示します。Total Cost Estimate は、オプティマイザでプランの実行に要すると推測された時間 (ミリ秒単位) です。Costed Best Plans、Costed Plans、Optimization Time は最適化処理の統計であり、Estimated Cache Pages は文の処理に使用できる現在の推定キャッシュサイズです。

このプランは、結果がソートされ、ネストループジョインが使用されることを示します。ジョイン演算子と同じ行に、ジョイン条件とその選択性推定 (ジョイン演算子によって作成されるすべてのローについて推定) があります。IndexScan の行は、Customers と SalesOrders の各テーブルが、それぞれ CustomersKey と FK_CustomerID_ID の各インデックスを使用してアクセスされることを示します。


 参照