求一个分区表方案

teleinfor 2011-02-14 01:29:05
每天自动生成一个数据库后创建表,采用分区表方案。比如有几个table为MY_TABLE_1~N,都有一个字段为timestamp类型为bigint。分区方式为按照时间分区,两个小时一个分区的方案。但这里的时间timestamp为UTC时间单位为ms。

如何实现啊?我想通过job方式实现或者一个windows程序定时执行sql脚本完成数据库的创建和表的创建,同时应用分区方案。2小时一个分区,应该有11个边界值了,文件组为12个文件组。

关键是每天都要如此执行,求教。。。
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
teleinfor 2011-02-14
  • 打赏
  • 举报
回复
windows job?咋么做?
timestamp就是个UTC时间,用gettickcount()获取的就是。
[Quote=引用 6 楼 zoezs 的回复:]
timestamp是什么东西?一个八位的二进制数,你怎么按照时间分区?
每天建一个库,你可以用windows job,sqlcmd执行script。
[/Quote]
teleinfor 2011-02-14
  • 打赏
  • 举报
回复
主要是数据库非常大,每天达到100GB。所以我想每天新建一个数据库,库里的表按照时间分区。timstamp就是一个UTC时间,单位ms。
[Quote=引用 7 楼 ap0405140 的回复:]
先不讨论数据库技术问题,
每天建一个数据库,还将表分区为12个子表.
貌似不是很必要这么做喔.
[/Quote]
唐诗三百首 2011-02-14
  • 打赏
  • 举报
回复
先不讨论数据库技术问题,
每天建一个数据库,还将表分区为12个子表.
貌似不是很必要这么做喔.
Zoezs 2011-02-14
  • 打赏
  • 举报
回复
timestamp是什么东西?一个八位的二进制数,你怎么按照时间分区?
每天建一个库,你可以用windows job,sqlcmd执行script。
guguda2008 2011-02-14
  • 打赏
  • 举报
回复
这谁想的办法,每天一个数据库?
唐诗三百首 2011-02-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 teleinfor 的回复:]
还要先创建一个数据库呢,同时创建分区别。分区表的那个时间分界点如何获取值啊?是个bigint类型的。我不太熟悉分区这块的东西。比如2小时一个分段,共计11个分界点,还都是UTC时间格式。。。
[/Quote]
还要先创建一个数据库呢, --> create database [Database Name]
同时创建分区别。分区表的那个时间分界点如何获取值啊?
--> 以固定时间作为分界点: 当前日期02:00,当前日期04:00,当前日期06:00,当前日期08:00...
("当前日期"可以在存储过程中变量形式获取)
语法:
CREATE PARTITION FUNCTION [分区函数名] (datetime)
AS RANGE RIGHT FOR VALUES (当前日期02:00,当前日期04:00,当前日期06:00,当前日期08:00...)
Q315054403 2011-02-14
  • 打赏
  • 举报
回复
动态执行SQL指令就行啦。。有规律嘛
有偿支持
teleinfor 2011-02-14
  • 打赏
  • 举报
回复
还要先创建一个数据库呢,同时创建分区别。分区表的那个时间分界点如何获取值啊?是个bigint类型的。我不太熟悉分区这块的东西。比如2小时一个分段,共计11个分界点,还都是UTC时间格式。。。
[Quote=引用 1 楼 ap0405140 的回复:]
用SQL Job方式,在每天00:00进行当天分区表的创建,会有什么问题?
CREATE PARTITION FUNCTION...
CREATE PARTITION SCHEME ...
CREATE TABLE [tablename] ... ON ...(timestamp)
[/Quote]
唐诗三百首 2011-02-14
  • 打赏
  • 举报
回复
用SQL Job方式,在每天00:00进行当天分区表的创建,会有什么问题?
CREATE PARTITION FUNCTION...
CREATE PARTITION SCHEME ...
CREATE TABLE [tablename] ... ON ...(timestamp)
teleinfor 2011-02-14
  • 打赏
  • 举报
回复
呵呵,不用保存那么久的。。。就是每天数据量大而已。。。
[Quote=引用 10 楼 ap0405140 的回复:]
引用 8 楼 teleinfor 的回复:
主要是数据库非常大,每天达到100GB。所以我想每天新建一个数据库,库里的表按照时间分区。timstamp就是一个UTC时间,单位ms。

每天100G,一个月至少3TB,一年36TB,楼主是什么系统来的喔?
[/Quote]
唐诗三百首 2011-02-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 teleinfor 的回复:]
主要是数据库非常大,每天达到100GB。所以我想每天新建一个数据库,库里的表按照时间分区。timstamp就是一个UTC时间,单位ms。
[/Quote]
每天100G,一个月至少3TB,一年36TB,楼主是什么系统来的喔?

22,210

社区成员

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

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