Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如果只在SQL Server中创建主文件组中的所有分区,分区是否有益_Sql Server_Database_Partitioning_Partition - Fatal编程技术网

Sql server 如果只在SQL Server中创建主文件组中的所有分区,分区是否有益

Sql server 如果只在SQL Server中创建主文件组中的所有分区,分区是否有益,sql-server,database,partitioning,partition,Sql Server,Database,Partitioning,Partition,我是SQL Server新手。我正在尝试实现分区。但我有一个问题:有必要有不同的分区组吗 或者,如果我只有一个分区组“PRIMARY”,即默认分区组,该怎么办?在分区模式中,我只指定主文件组 CREATE PARTITION SCHEME [Date] AS PARTITION [PF_FMvnt_Valuation_Date_SID] TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PR

我是SQL Server新手。我正在尝试实现分区。但我有一个问题:有必要有不同的分区组吗

或者,如果我只有一个分区组“PRIMARY”,即默认分区组,该怎么办?在分区模式中,我只指定主文件组

CREATE PARTITION SCHEME [Date] 
AS PARTITION [PF_FMvnt_Valuation_Date_SID] 
TO ([PRIMARY], [PRIMARY], [PRIMARY], 
    [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], 
    [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], 
    [PRIMARY], [PRIMARY], [PRIMARY])
GO

CREATE PARTITION FUNCTION [Date](bigint) 
AS RANGE LEFT FOR VALUES (20170228, 20170331, 20170430, 
                          20170531, 20170630, 20170731, 
                          20170831, 20170930, 20171031, 
                          20171130, 20171231, 20180131, 
                          this, 28)
通过实现这一点,我得到了12个分区,数据被填充到各自的分区中

但这会提高并行性方面的性能吗


对不起,如果你觉得这个问题太天真了

通常,划分分区有两个原因。能够一次性删除和/或添加大量数据,或提高性能。一个组织可能希望在一个非常大的表中保存六周的当前数据。每个周末,他们可能会删除最旧的分区,并为新一周的数据创建一个新分区。因为这主要是在元数据更改时完成的,所以可以在几秒钟内删除和/或添加分区的数据(可能是10-20GB的数据)


第二个原因是将数据放在单独的物理卷上。因此,如果您正在搜索特定的一周,则只搜索该周的数据。如果将整个表放在一个卷上(因此放在一个驱动器或一组驱动器上),搜索的性能不会有多大提高,但您可能会发现添加和删除分区的速度非常快。

文件组不是分区本身的一个方面。分区需要一个或多个文件组(表必须位于某个位置)。我建议你把你的问题发到。