Aracılığıyla paylaş


Akış toplu Showplan işleç

The Stream Aggregate operator groups rows by one or more columns and then calculates one or more aggregate expressions returned by the query.Bu işleç çıktısını istemci veya her ikisi için döndürülen sorgu, daha sonra operatörler tarafından başvurulabilir.The Stream Aggregate operator requires input ordered by the columns within its groups.İyileştirici kullanacağı bir Sort işleci verileri bir önceki yüzünden zaten sıralanmış, bu işleci için önce Sort işleç veya nedeniyle sıralı dizin arama veya tarama.showplan_all deyim veya grafik yürütme planı içinde SQL Server Management Studio, group by yüklemi sütunlarında listelenen Argument toplu ifadeler ve sütun listelenen Defined Values sütun.

Stream Aggregate fiziksel bir işleç olur.

Akış toplama işleci simgesiGrafik yürütme planı simgesi

Örnekler

Aşağıdaki örnek verileri seçer SalesPerson Tablo ve değerleri toplayan Bonus ve SalesYTD sütunlara göre bölge.Yürütme planı çıktı sorgu iyileştiricisi kullandığını gösterir Stream Aggregate satırları gruplandırmak için işleç SalesPerson tarafından tablo TerritoryID sütun ve sonra değerleri hesaplamak AVG(Bonus) ve SUM(SalesYTD) sütunları temel üzerinde gruplandırma.

USE AdventureWorks2008R2;
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;

Yürütme planı çıktı, Stream Aggregate işleç belirinceye altında.

StmtText

------------------------------------------------------------------------------------------------

|--Stream Aggregate(GROUP BY:([AdventureWorks2008R2].[Sales].[SalesPerson].[TerritoryID]) )

DEFINE:([Expr1011]=Count(*),

[Expr1012]= SUM([AdventureWorks2008R2].[Sales].[SalesPerson].[Bonus]),

[Expr1004]=SUM([AdventureWorks2008R2].[Sales].[SalesPerson].[SalesYTD])))

Argument

-----------------------------------------------------------------------------------------------

GROUP BY:([AdventureWorks2008R2].[Sales].[SalesPerson].[TerritoryID]

DefinedValues

----------------------------------------------------------------------------------------------

[Expr1011]=Count(*),

[Expr1012]=SUM([AdventureWorks2008R2].[Sales].[SalesPerson].[Bonus]),

[Expr1004]=SUM([AdventureWorks2008R2].[Sales].[SalesPerson].[SalesYTD])