我有一个很大的表,其中包含8300万条记录。
有一个名为'TradingDateKey‘的列,表基于该列进行分区。
以下是分区模式和分区函数:
将分区方案ps__fac_sale创建为分区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)
去
创建分区函数pf__fac_sale作为值的左范围
(20050630,20060630,20070630,20080630,20090630,20100630,20110630,
20120630,20130630)
去
如您所见,在20130630到20150915之后没有分区。
问题是,我们的客户端给出了一个查询,它对
上面的表,而whihc也使用了一些连接,它
需要很长时间才能执行。
你能告诉我解决这个问题的最佳方法吗?我们是否可以更改
分区函数和模式并重新构建索引,否则它必须是完整的
使用适当的分区函数和模式将数据重新装载到另一个表中?
。
感谢您的帮助
.Thank你
发布于 2015-09-15 22:46:25
您可以调整分区函数和方案,而无需重新构建表。在微软网站上查看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]https://stackoverflow.com/questions/32583870
复制相似问题