Sql-Server
對同一表的多個列進行分組時的性能問題
我正在處理大約 100 萬行和 100 列的大量數據。我有這個 proc,它根據按colum1分組對這些數據執行一些計算。
現在對按 column1, column2分組的數據執行相同的計算。
我可以通過在 column1 和column2上創建索引來優化整個操作。
但是,如果column1或column2是動態的並且最多為第 n 列,我如何才能獲得性能。
範例:對於 n 列,group by 操作將如下所示
操作 1:按 column1 分組 操作 2:按 column1、column2 分組
操作 n :按 column1、column2 分組…..直到 columnN
如果您一次需要所有這些聚合,請使用ROLLUP 或 GROUPING SETS在一次掃描中計算多個聚合顆粒。
如果要針對許多不同的聚合優化大型表,請使用列儲存索引。