Sql-Server

對同一表的多個列進行分組時的性能問題

  • June 8, 2021

我正在處理大約 100 萬行和 100 列的大量數據。我有這個 proc,它根據按colum1分組對這些數據執行一些計算。

現在對按 column1, column2分組的數據執行相同的計算。

我可以通過在 column1 和column2上創建索引來優化整個操作。

但是,如果column1column2是動態的並且最多為第 n 列,我如何才能獲得性能。

範例:對於 n 列,group by 操作將如下所示

操作 1:按 column1 分組 操作 2:按 column1、column2 分組

操作 n :按 column1、column2 分組…..直到 columnN

如果您一次需要所有這些聚合,請使用ROLLUP 或 GROUPING SETS在一次掃描中計算多個聚合顆粒。

如果要針對許多不同的聚合優化大型表,請使用列儲存索引。

引用自:https://dba.stackexchange.com/questions/293941