我一直在关注一些SQL Server表分区教程,但我似乎无法找到所有方面如何组合在一起的概述或解释。
我有一个我想要分区的现有表格,例如“Orders
”。
所以我去Orders table
创建分区函数。
然后我在分区函数之上创建我的分区方案。
这是否意味着如果我在Table1中插入它现在将自动分区? 或者是我不理解的部分,在本教程中有以下内容:
--******************
--6. CREATE OBJECTS ON THE PARTITION SCHEME
--******************
--Create a partitioned heap... yep, you can do that!
CREATE TABLE OrdersDaily (
OrderDate DATETIME2(0) NOT NULL,
OrderId int IDENTITY NOT NULL,
OrderName nvarchar(256) NOT NULL
) on DailyPartitionSceheme(OrderDate)
GO
根据我对此的理解,它们实质上是创建一个重复的表,但将它作为一个对象放在分区方案之上。我必须这样做吗?
答案 0 :(得分:1)
对已经存在的非分区表进行分区很棘手,不一定推荐。我不确定你现有的表有多大,或者有多少表可能已经有外键引用它等等,所以YMMV。我想到了两种可能的方法:
予。用分区视图去老派。
OR
II。 1.创建一个分区函数,该函数最初只有一个分区,例如:
CREATE PARTITION FUNCTION OrdersFunction (datetime2) AS RANGE LEFT FOR VALUES ();
CREATE PARTITION SCHEME DailyPartitionScheme AS PARTITION OrdersFunction TO ([PRIMARY]);
ALTER TABLE Orders SWITCH TO OrdersDaily PARTITION 1