• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL Server 2005数据库分表实例

mysql 搞代码 4年前 (2022-01-09) 14次浏览 已收录 0个评论

参考网上的资料写的一个数据库分表的实例,记下来,一免下次再费力在网上找资料 use Text go 建立文件组, alter database Text add filegroup TextFG1 alter database Text add filegroup TextFG2 alter database Text add filegroup TextFG3 go 在文件组中

参考网上的资料写的一个数据库分表的实例,记下来,一免下次再费力在网上找资料

use Text
go

建立文件组,

alter database Text add filegroup TextFG1
alter database Text add filegroup TextFG2
alter database Text add file

本文来源gaodai.ma#com搞##代!^码网(

group TextFG3
go

在文件组中添加文件,一个文件组可以包含多个文件,每个文件代表的是某一个表的分表。

例如:一个数据库中有两个表需要分表,就可以再每个分组中添加两个分表,分别对应这两个表。

分组最好放在不同的磁盘下,可以充分发挥IO操作速度。

alter database Text add file(name=N’TextDataFile1′, filename=N’C:\SQL File Group 1\TextDataFile1.ndf’,
size=3072KB, filegrowth=1024KB ) to filegroup TextFG1
alter database Text add file(name=N’TextDataFile2′, filename=N’D:\SQL File Group 2\TextDataFile2.ndf’,
size=3072kb, filegrowth=1024kb) to filegroup TextFG2
alter database Text add file(name=N’TextDataFile3′, filename=N’E:\SQL File Group 3\TextDataFile3.ndf’,
size=3072kb, filegrowth=1024kb) to filegroup TextFG3
go

创建分区函数,分区依据后边的时间点,将表分为3个区,分别放在不同的分区表中

create partition function TextPF(datetime) as range right for values(‘20071230’, ‘20081230’)
go

创建分区方案,将分区函数和分组对应起来

create partition scheme TextPS as partition TextPF to (TextFG1, TextFG2, TextFG3)
go

创建表

create table t_Sina_Comment(
comment_id varchar(20) not null,
post_id varchar(20) null,
commentTime datetime not null,
commentContent text null,
blogger_id varchar(20) null
)on TextPS(commentTime)
go

创建聚集索引,创建分区的依据必须为索引。

create clustered index indexofComment on dbo.t_Sina_Comment(comment_id, commentTime)
go

表创建好了之后,就可以导入数据了。

导入的数据根据表中commentTime存放在不同的分区文件中。

实验中录入220多万数据,3个分区文件中分别有60多万,50多万和110多万

通过下边的测试,说明实验室成功的

测试:

select $partition.TextPF(o.commentTime) as partitionNum,
min(commentTime) as minCommentTime,
max(commentTime) as maxCommentTime,
count(*) as rows
from t_Sina_Comment as o
group by $partition.TextPF(o.commentTime)
order by partitionNum

go

select *
from t_Sina_Comment
where commentTime’2008-12-25′


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQL Server 2005数据库分表实例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址