打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
对已存在的数据库表中进行分区
  【转】

两天一直在研究2005 中如何对表进行分区,但是参考了多数资料都是说新建表后再将原表中数据插入到新表中,这样有些不方便.今天发现了如何更改表文件组的所在文件组,然后看了看.会不会也能应用到分区表中..试了试嗯.不错...真的管用哦.下面看看代码

说明 现有表 myTb 主键索引 PK_myTb.
原理 更改表的聚集索引的所在文件组使得表移动到新的"文件组中(这里我们用表分区)".
先创建文件组,以及分区函数等请参考http://hi.baidu.com/bg1jt/blog/item/ad3b6a631ad73a640d33fa4e.html 我的这篇文章.

然后将创建表部分替换成
alter table myTb drop constraint PK_myTb--
删除现有表的主键(对有全文索引的只能再管理器中去除主键)
ALTER TABLE [dbo].[fabu] WITH NOCHECK ADD
CONSTRAINT [PK_fabu] PRIMARY KEY CLUSTERED
(
[id]--
注意ID这里是你原来的那些主键组成的列
) ON [ps_Product_Scheme_mTb]([id])--
将主键创建到ps_Product_Scheme_mTb分区函数上
用下面这条语句看看分区是不是已经改变了?
SELECT *, $PARTITION.pf_Product_fabu(ID) AS PF FROM myTb

这样的好处在于不用新建表.这样就像本人那种表的ID在多个表中作为参考的从新建表其他信息将无用..
弊端-这样对有全文索引的表必须从新建立全文索引..

----------------------------------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
谈数据库的性能优化 - Database - Tech - JavaEye论坛
SQL Server 表分区实战系列(文章索引)
SQL SERVER 分区表的总结
银行核心系统之分表分区和批处理性能优化
oracle按时间创建分区表
PowerDesigner优化Oracle库表设计
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服