【发布时间】:2014-05-28 05:57:58
【问题描述】:
我正在阅读有关分区表的文章,并且对分区表是好是坏感到困惑。我确实了解分区适用于大量数据集。但这是我的困惑: 让我们假设有一个表:
Orders(Orderid,Custid,Orderdate,Shipperid)
而且它的数据量很大;足以证明分区的合理性。该表的每一列都有选择查询;许多查询与其他表连接。 如果我根据 OrderId 对表进行分区;基于其他列的其他查询会变慢吗? 涉及OrderId列以外的列的join查询会变慢吗?
将不胜感激任何指导!谢谢
【问题讨论】:
-
如果
OrderID列是唯一标识符,则您不想对表进行分区。根据您的表结构,您应在OrderDate列上进行分区。您可以按年或按月分区,具体取决于您的表有多大。这将允许 SQL Server 仅查询所需日期范围内的数据。 -
@AndLev :谢谢,但我感到困惑的是,它不会影响涉及其他列的其他选择查询;除了订单日期?我从来没有这样做过;所以我不知道它会如何影响。只是想在做任何事情之前确定一下。
标签: sql sql-server sql-server-2008 tsql sql-server-2012