sql server 2012中的表分区不完整
Posted
技术标签:
【中文标题】sql server 2012中的表分区不完整【英文标题】:Table Partitioning incomplete in sql server2012 【发布时间】:2015-09-15 10:36:49 【问题描述】:我有一个包含 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 也使用了一些连接,它 执行需要很长时间。
能否请您告诉我解决此问题的最佳方法。我们可以改变 分区函数和架构并重建索引,否则它必须是完整的 使用适当的分区函数和架构将数据重新加载到另一个表中?.
感谢您的帮助。谢谢
【问题讨论】:
【参考方案1】:您可以在不重建表的情况下调整分区功能和方案。在 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]
【讨论】:
以上是关于sql server 2012中的表分区不完整的主要内容,如果未能解决你的问题,请参考以下文章
根据sql server 2012中后续行索引之间的差异创建分区