请问SQL Server2008 是否支持子分区表

yuchangmao 2010-12-23 07:20:38
需求是这样的,每天至少有1000万以上的GPS数据,打算先按月来分区,再按月里面的车辆编号再分一次,也就是子分区,请问是否支持,如不支持请教是否有好的办法解决?
...全文
506 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SQLSERVER在分区表上面还有很长的路要走:
1.各种复合分区组合
2.按小时的分区目前也还没有
3.参看ORACLE11G的分区表功能就知道差距了,~~
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 dongxinxi 的回复:]
引用 19 楼 jycjyc 的回复:
sqlserver的分区功能和oracle比,差距很大。
明确的说sqlserver2008不支持复合子分区表


弱弱地问一下2008 R2支持了么?
[/Quote]
不支持,最新的sql2011也不支持
cutebear2008 2011-08-05
  • 打赏
  • 举报
回复
oracle支持subpartition! ^_^
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 jycjyc 的回复:]
sqlserver的分区功能和oracle比,差距很大。
明确的说sqlserver2008不支持复合子分区表
[/Quote]

弱弱地问一下2008 R2支持了么?
  • 打赏
  • 举报
回复
sqlserver的分区功能和oracle比,差距很大。
明确的说sqlserver2008不支持复合子分区表
昵称被占用了 2010-12-24
  • 打赏
  • 举报
回复
如果每天至少有1000万以上的数据,建议每日分表,必要时再增加分区设计
昵称被占用了 2010-12-24
  • 打赏
  • 举报
回复
你增加分表概念不就可以了
单纯分区解决不了这种日志型数据的,因为长年累月增加,就算动态增加分区,总体性能也会受历史数据影响的。
lyserver 2010-12-24
  • 打赏
  • 举报
回复
没听说过,应该没有吧。
如果数据量过大,已表分区不够用时,可以增加表分区啊。
yuchangmao 2010-12-24
  • 打赏
  • 举报
回复
现在车子的量在1000多,业务还在不停增长,要是以后上万台车了,还真是难搞啊!数据一般保存三个月
wsh236 2010-12-24
  • 打赏
  • 举报
回复
支持的!

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]


唐诗三百首 2010-12-24
  • 打赏
  • 举报
回复
按楼主的需求推算,每天1000万的数据,一个月3亿,一年36亿.
即使是用了分区表,我想SQL Server也难以承受.
唐诗三百首 2010-12-24
  • 打赏
  • 举报
回复
实在没办法的话,能否考虑从业务逻辑方面进行优化呢?
例如按月度来自动生成表,如 xxx01,xxx02,xxx03,... xxx12.
再在这些月度表上按车辆编号建分区表.
zjl8008 2010-12-24
  • 打赏
  • 举报
回复
比较高难。。
gdk123 2010-12-24
  • 打赏
  • 举报
回复
我也不知道。。。
coleling 2010-12-24
  • 打赏
  • 举报
回复
技术含量较高,有偿支持,呵呵...
yuchangmao 2010-12-24
  • 打赏
  • 举报
回复
分区表好象解决不了我的问题啊
王向飞 2010-12-23
  • 打赏
  • 举报
回复
MySQL用过,
http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html#partitioning-subpartitions
SQLSERVER还没这么用过不清楚
billpu 2010-12-23
  • 打赏
  • 举报
回复
子查询听说过
分区表听说过
子分区表...
唐诗三百首 2010-12-23
  • 打赏
  • 举报
回复
分区表一般的应用是把表分区对应到数据库的多个文件组(File Group)上,
多个文件组再对应到不同的磁盘分区或RAID.以此来减少处理的数据量,分散磁盘I/O等.
唐诗三百首 2010-12-23
  • 打赏
  • 举报
回复
从建分区表的步骤来看,看似没有子分区表的功能的.
1.建立分区函数 PARTITION FUNCTION ...
2.建立分区架构 PARTITION SCHEME ...
3.建立分区表 CREATE TABLE ... ON [分区架构]([分区字段])
加载更多回复(3)

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧