请问SQL Server2008 是否支持子分区表 需求是这样的,每天至少有1000万以上的GPS数据,打算先按月来分区,再按月里面的车辆编号再分一次,也就是子分区,请问是否支持,如不支持请教是否有好的办法解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从建分区表的步骤来看,看似没有子分区表的功能的.1.建立分区函数 PARTITION FUNCTION ...2.建立分区架构 PARTITION SCHEME ...3.建立分区表 CREATE TABLE ... ON [分区架构]([分区字段]) 分区表一般的应用是把表分区对应到数据库的多个文件组(File Group)上,多个文件组再对应到不同的磁盘分区或RAID.以此来减少处理的数据量,分散磁盘I/O等. MySQL用过,http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html#partitioning-subpartitionsSQLSERVER还没这么用过不清楚 实在没办法的话,能否考虑从业务逻辑方面进行优化呢?例如按月度来自动生成表,如 xxx01,xxx02,xxx03,... xxx12.再在这些月度表上按车辆编号建分区表. 按楼主的需求推算,每天1000万的数据,一个月3亿,一年36亿.即使是用了分区表,我想SQL Server也难以承受. 支持的!alter database [PatentEX] add filegroup [PatentEX19951231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX19951231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX19951231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX19951231]alter database [PatentEX] add filegroup [PatentEX20001231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20001231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20001231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20001231]alter database [PatentEX] add filegroup [PatentEX20021231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20021231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20021231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20021231]alter database [PatentEX] add filegroup [PatentEX20041231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20041231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20041231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20041231]alter database [PatentEX] add filegroup [PatentEX20051231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20051231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20051231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20051231]alter database [PatentEX] add filegroup [PatentEX20061231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20061231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20061231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20061231]alter database [PatentEX] add filegroup [PatentEX20071231]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20071231', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20071231.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20071231]alter database [PatentEX] add filegroup [PatentEX20080630]ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20080630', FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20080630.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20080630] sqlserver的分区功能和oracle比,差距很大。明确的说sqlserver2008不支持复合子分区表 oracle支持subpartition! ^_^ 不支持,最新的sql2011也不支持 SQLSERVER在分区表上面还有很长的路要走:1.各种复合分区组合2.按小时的分区目前也还没有3.参看ORACLE11G的分区表功能就知道差距了,~~ N''是什么意思 关于悲剧的SQL 2000 如何将汉字存入数据库 请教一个把主次表关联起来的语句 数据库的用户和角色 我用sa创建的存储过程其他用户调用为什么提示参数类型错误? 统计SQL SQL Server安装问题 SQL中行列转换时遇到的问题 如果获得一张表内的某行某列值 随机数 SQL TEXT文本拆分,并将拆分后得到的结果插入到表中。
1.建立分区函数 PARTITION FUNCTION ...
2.建立分区架构 PARTITION SCHEME ...
3.建立分区表 CREATE TABLE ... ON [分区架构]([分区字段])
多个文件组再对应到不同的磁盘分区或RAID.以此来减少处理的数据量,分散磁盘I/O等.
http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html#partitioning-subpartitions
SQLSERVER还没这么用过不清楚
例如按月度来自动生成表,如 xxx01,xxx02,xxx03,... xxx12.
再在这些月度表上按车辆编号建分区表.
即使是用了分区表,我想SQL Server也难以承受.
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX19951231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX19951231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX19951231]alter database [PatentEX] add filegroup [PatentEX20001231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20001231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20001231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20001231]alter database [PatentEX] add filegroup [PatentEX20021231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20021231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20021231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20021231]alter database [PatentEX] add filegroup [PatentEX20041231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20041231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20041231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20041231]alter database [PatentEX] add filegroup [PatentEX20051231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20051231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20051231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20051231]alter database [PatentEX] add filegroup [PatentEX20061231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20061231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20061231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20061231]alter database [PatentEX] add filegroup [PatentEX20071231]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20071231',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20071231.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20071231]alter database [PatentEX] add filegroup [PatentEX20080630]
ALTER DATABASE [PatentEX] ADD FILE ( NAME = N'PatentEX20080630',
FILENAME = N'F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PatentEX20080630.ndf' , SIZE = 3072KB ,
FILEGROWTH = 1024KB ) TO FILEGROUP [PatentEX20080630]
明确的说sqlserver2008不支持复合子分区表
1.各种复合分区组合
2.按小时的分区目前也还没有
3.参看ORACLE11G的分区表功能就知道差距了,~~