Teradata Databaseは、戦術的なクエリーに共通する単一または複数のCOUNT DISTINCTのインスタンスをより効率的に処理できるようになりました。リリース16.00は、より少ない手順で複数のCOUNT DISTINCT操作を処理します。EXPLAINテキストは、SUMステップによって処理されるDISTINCT型と非DISTINCT型集約の数を示すことによって、集約およびDISTINCT操作を組み合わせる集約手順を区別するように変更されました。
MINIMUM DISTINCTおよびMAXIMUM DISTINCT操作は、MINIMUM DISTINCTまたはMAXIMUM DISTINCTの非DISTINCT型集約として処理されます。この方式により、より少ない数のステップでクエリーもできます。また、COUNT DISTINCTを指定すると、これらの処理は非DISTINCT型集約として、複数のDISTINCT型集約のSUMを使用して処理されます。
利点
この機能の主な利点は、COUNT DISTINCT構文を使用するクエリーのパフォーマンスが向上したことです。
考慮事項
COUNT DISTINCT SUMステップの集約キャッシュの処理は、最適化ルーチンの見積もりから影響を受けやすくなりました。そのため、次の処理を行なうことを強くお勧めします。
- 想定されるGROUP BY値で統計情報を収集します。
- 可能なら、DISTINCT式でも統計情報を収集します。
追加情報
COUNT DISTINCT操作のパフォーマンスの向上の詳細については、<Teradata Vantage™ SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。