我需要创建一个新表,其中包含源表中度量列的总和。 Source表非常庞大。
例如。来源表
Category | Product | Sales
A | P1 | 100
B | P2 | 200
C | P3 | 300
查询就像:
SELECT Category,
Product,
SUM(Sales)
FROM source_table
GROUP BY Category.
没有任何条件。
索引是否有助于加快流程?
任何加速查询的替代机制?
答案 0 :(得分:0)
它可能有助于在Category上添加索引,因为它在GROUP BY子句中。但是你正在进行全表转储,所以它可能会很慢。
可能更好的策略是为销售报告创建一个新表,并根据您的业务需求填充该表。如果它只能每天更新,那么安排存储过程每晚运行以重新填充它。如果需要反映表的当前状态,则可以在更新基表时使用触发器更新报表。或者,您可以在应用程序级别运行单独的查询,以在更新基表时更新报表。
答案 1 :(得分:0)
索引是一个棘手的工具。如果您计划将索引添加到表的列中,则至少应考虑:
1-本栏目中有多少个不同的值。 2-如何记录总数与不同值的数量之间的比例。 3-我经常在本栏目中使用where,group by或order by子句。
正如@Kasey的回答所指出的那样,您可以在类别列上添加索引,但是,它取决于您对该列的不同值的数量。