优化大型SQL Server表

时间:2013-07-19 11:07:23

标签: sql database tsql sql-server-2012 database-partitioning

我有一个非常大的表,大约有5000万行和15列。每当我阅读时,我总是需要所有列,所以我不能拆分它们。我在表上有一个带有4个键的聚簇索引,我总是使用这些键读取数据。

但是性能仍然很慢,我的查询很简单,就像这样

select 
    CountryId, RetailerID, FY, 
    sum(col1), sum(col2),.....sum(col15) 
from mytable a
join product p on a.productid = p.id
join ......
join .....
join ......
join .....
Where .......
group by CountryId, RetailerID, FY

我没有在任何内联函数中使用任何IN运算符或任何子查询...我知道这显然会让它变慢。我看过分区但不确定,我可以通过分区获得一些性能提升吗?

或者我还能做什么?

我正在使用SQL Server 2012企业版

请帮忙!

1 个答案:

答案 0 :(得分:0)

谢谢大家,我使用聚合表完成了这项工作。我运行一个工作来隔夜聚合数据,这限制了行数,报告现在正常运行