Share via


Stream Aggregate プラン表示操作

更新 : 2006 年 7 月 17 日

Stream Aggregate 操作は、1 つ以上の列を基準にして行をグループ化し、クエリから返される 1 つ以上の集計式を計算します。この操作の出力は、クエリ内のその後の操作から参照することも、クライアントに返すことも、あるいはその両方を行うこともできます。Stream Aggregate 操作を使用するには、グループ内で列を基準にして入力を並べ替えておく必要があります。並べ替えられたインデックスのシークまたはスキャンが原因で、または前の Sort 操作が原因でデータがまだ並べ替えられていない場合は、オプティマイザによって、この操作の前に Sort 操作が使用されます。SQL Server Management Studio の SHOWPLAN_ALL ステートメントまたはグラフィカルな実行プランで、GROUP BY 述語の列は Argument 列に一覧表示され、集計式は DefinedValues 列に一覧表示されます。

Stream Aggregate は物理操作です。

Stream Aggregate 操作アイコングラフィカルな実行プランのアイコン

次の例では、SalesPerson テーブルからデータを選択し、Bonus 列および SalesYTD 列の値を地域ごとに集計します。実行プランの出力では、クエリ オプティマイザが Stream Aggregate 操作を使用して、TerritoryID 列を基準にして SalesPerson テーブルの行をグループ化し、そのグループ分けに基づいて AVG(Bonus) 列および SUM(SalesYTD) 列の値を集計していることが示されています。

USE AdventureWorks;
GO
SET NOCOUNT ON;
go
SET SHOWPLAN_ALL ON;
GO
SELECT TerritoryID, 
    AVG(Bonus) AS 'Average bonus', 
    SUM(SalesYTD) AS'YTD sales'
FROM Sales.SalesPerson
GROUP BY TerritoryID;
GO
SET SHOWPLAN_ALL OFF;

Stream Aggregate 操作の実行プラン出力は次のようになります。

StmtText 
------------------------------------------------------------------------------------------------
|--Stream Aggregate(GROUP BY:([AdventureWorks].[Sales].[SalesPerson].[TerritoryID]) )
        DEFINE:([Expr1011]=Count(*), 
                [Expr1012]= SUM([AdventureWorks].[Sales].[SalesPerson].[Bonus]), 
                [Expr1004]=SUM([AdventureWorks].[Sales].[SalesPerson].[SalesYTD])))

Argument
-----------------------------------------------------------------------------------------------
GROUP BY:([AdventureWorks].[Sales].[SalesPerson].[TerritoryID]

DefinedValues
----------------------------------------------------------------------------------------------
[Expr1011]=Count(*), 
[Expr1012]=SUM([AdventureWorks].[Sales].[SalesPerson].[Bonus]),
[Expr1004]=SUM([AdventureWorks].[Sales].[SalesPerson].[SalesYTD])

参照

処理手順

実際の実行プランを表示する方法

概念

論理操作と物理操作のリファレンス
プラン表示 SET オプションを使用した実行プランの表示 (Transact-SQL)

その他の技術情報

集計関数 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

新しい内容 :
  • 「例」を追加しました。
更新内容 :
  • Stream Aggregate 操作について具体的に説明しました。