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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » クエリ処理 » クエリの最適化と実行 » 実行プランの解釈 » テキスト・プランの解釈

 

長いテキスト・プラン

長いテキスト・プランでは、短いテキスト・プランより若干多くの情報が提供されます。また、情報はスクロールしなくても簡単に印刷したり表示したりできる状態で提供されます。

次の例では、長いテキスト・プランの最初の行は Plan[ Total Cost Estimate: 6.46e-005 ] です。Plan という語はクエリ・ブロックの開始を示します。Total Cost Estimate は、オプティマイザでプランの実行に要すると推測された時間 (ミリ秒単位) です。Estimated Cache Pages は、文の処理に使用できる現在の予測キャッシュ・サイズです。

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

SELECT PLAN ('SELECT GivenName, Surname, OrderDate, Region, Country
FROM Customers JOIN 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 )  ] )
      )
    )
  )
)

プランに使用される省略形の詳細については、実行プランの省略形を参照してください。