【问题标题】:Table Partitioning incomplete in sql server2012sql server 2012中的表分区不完整
【发布时间】: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 也使用了一些连接,它
执行需要很长时间。

能否请您告诉我解决此问题的最佳方法。我们可以改变
分区函数和架构并重建索引,否则它必须是完整的
使用适当的分区函数和架构将数据重新加载到另一个表中?
.

感谢您的帮助
。谢谢

【问题讨论】:

    标签: sql-server performance sql-server-2008 database-administration query-performance


    【解决方案1】:

    您可以在不重建表的情况下调整分区功能和方案。在 Microsoft 网站上查看 alter partition functionalter partition scheme 语法。基本语法是:

    alter partition function pf__fac_sale() split range (newrangevalue);
    go
    alter partition scheme ps__fac_sale next used [filegroup]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 2014-12-05
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多