我有一张大表,里面有8300万条记录
有一个名为“TradingDateKey”的列,根据该列对表进行分区。
以下是分区架构和分区功能:
创建分区方案[ps__fac_sale] AS PARTITION [pf__fac_sale]至
([fg__fac_sale__2005],[fg__fac_sale__2006],[fg__fac_sale__2007],
[fg__fac_sale__2008],[fg__fac_sale__2009],[fg__fac_sale__2010],
[fg__fac_sale__2011],[fg__fac_sale__2012],[fg__fac_sale__2013],
[fg__fac_sale__2014])
GO
创建分区功能pf__fac_sale作为值的左侧左侧
(20050630,20060630,20070630,20080630,20090630,20100630,20110630,
20120630,20130630)
GO
如您所见,20130630至20150915之后没有分区
问题是我们的客户给出了一个查询来执行查询
上面的表格whihc也使用了一些连接而且它
需要很长时间才能执行。
您能告诉我解决此问题的最佳方法吗?我们可以改变
分区功能和架构以及重建索引或必须完成
使用适当的分区功能将数据重新加载到另一个表中。模式?
。
感谢您的帮助。谢谢。
答案 0 :(得分:0)
您可以调整分区功能和方案,而无需重建表格。在Microsoft的网站上查看alter partition function和alter partition scheme语法。基本语法是:
alter partition function pf__fac_sale() split range (newrangevalue);
go
alter partition scheme ps__fac_sale next used [filegroup]