问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库分区表 什么情况下需要分区

发布网友 发布时间:2022-05-01 19:18

我来回答

2个回答

懂视网 时间:2022-05-01 23:39

  我们的数据库已经投入使用一段时间了,但是当时没有创建创建分区表,现在我们需要做的是将普通表转换成分区表,但是并不能影响我们数据库里面的数据,那么我们应该如何做呢?只需在该表上创建一个聚集索引,并在该聚集索引中使用分区方案即可。

     说的很简单,但是在实现实现可就没有那么容易了,因为你的数据库中存在主键,外键等约束关系,那么我们在将普通表转换成分区表时,首先就需要解决这些问题。

     我们知道分区表时某个字段为分区条件的,除了这个字段之外的其他字段是不能创建聚集索引的,所以我们将普通表转换成分区表时,必须要删除聚集索引,然后再重新创建一个新的聚集索引,在该聚集索引中使用分区方案。

     但是我们需要修改的t_sellLog表中的orderId既是主键又是聚集索引,而且还是其它表的外键。因此,我们只能先删除外键关联,再删除主键,然后重新创建orderId为主键,但是设置为非聚集索引,然后将我们的sellTime字段设置为聚集索引,最后添加上我们的外键约束,至此普通表转换成分区表的工作结束,代码如下:

     --查看外键约束

use CX_Partiton_Scheme

exec sp_helpconstraint t_SellLog

--删除外键约束

alter table t_sellLog drop constraint FK_t_SellLog_t_User

--删掉主键

ALTER TABLE t_SellLog DROP constraint PK_t_SellLog 

--创建主键,但不设为聚集索引

ALTER TABLE t_SellLog ADD CONSTRAINT PK_t_SellLog PRIMARY KEY NONCLUSTERED ( 

    orderId ASC

)

 ON [PRIMARY]

 --创建一个新的聚集索引,在该聚集索引中使用分区方案

CREATE CLUSTERED INDEX CT_SellLog ON t_SellLog(sellTime) 

ON partsch_CX([sellTime])

 --添加删除掉的外键约束(具体自己根据实际情况自己实现)

 

     转换成功之后,我们可以通过下面代码查看每个分区表中的记录数:

   --统计所有分区表中的记录总数  

select $PARTITION.partfun_CX([sellTime]) as 分区编号,count(orderId) as 记录数from t_SellLog group by$PARTITION.partfun_CX([sellTime])

     我们还可以通过下面的代码,查看数据库库中的数据在哪个分区中:

   --查看数据库表中的数据在哪个分区中

select $PARTITION.partfun_CX(‘2010-10-1‘)  --查询年月日的数据在哪个分区中

select $PARTITION.partfun_CX(‘2011-01-1‘)  --查询年月日的数据在哪个分区中如果你想比较一下我们使用分区方案之后和之前程序有多少效率提高,我们可以通过下面的语句来看看一下脚本的执行时间就OK了,我经过测试的数据是快了0.017秒,一方面由于我们的测试数据量比较小,另一方面我的机器配置还是蛮不错的。

     --查看SQL脚本的执行时间

   select getDate()

   select * from t_sellLog

   select getDate()

数据库分区表(转)

标签:出错   文件   dex   数据库   分段   http   点击   数据库表   标签   

热心网友 时间:2022-05-01 20:47

数据量很大,而且经常按照某个字段进行条件过滤或者分组时,可以考虑使用分区,例如某种商品的销售情况,经常要查看某个月、某个季度的销售明细或者总计,则可以根据销售日期进行分区,每个月分为一个区,而且最好是能够把不同区的数据分别存放在不同的物理硬盘上,这样在进行查询的时候,如果查询某个月的数据,可以直接在特定硬盘查询,数据量小,速度快,如果查询所有月份的数据,多块硬盘可以并行查询,速度也会明显提高。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪个牌子复印机好 复印店用什么型号的复印机好 开复印店需要什么设备 家用打印复印机哪个好 如何分辨鞋底是不是空心格子底? Ubuntu10.04下安装Oracle11g 超市监控多少钱 超市防盗器要多少钱 超市防盗系统多少钱 智能存放柜管理系统 48小时核酸检测结果在哪里查询-48小时核酸检测怎么看结果 防水胶的纳米硅防水胶 纳米硅防水剂有什么用途? 电脑win10系统怎么永久激活工具 股票流值和总值一样说明了了什么 请问把冰箱切断电源清理,伤害冰箱吗? 今天晚上断电,明天才清洗冰箱可以吗? 请问与阿尔法罗密欧很像的是什么车牌啊,左边六颗星,右边一个女的~~ 苹果手机apple pay怎么支付 捷尼赛思新G70实车曝光,搭2.0T引擎/车标变字母 心形车标是什么车 汽车的前鼻子像心形 , 这是什么牌子的轿车 怎么用apple pay 充值 车标像m的是什么车 桃心形状的车标是什么车 一个桃心一对翅膀是什么车标? 一个圆圈里面有个看似心形的标志 心形没有连接起来,是什么车 像心形的标志是什么车? 一个类似桃心形状的车叫什么 车标像心形是什么车? 一个像爱心一样的车标志是什么牌子? 水性涂料中纳米无机硅溶液在有什么作用??? 哪里有办理实名认证的 微粉的用途 教学反思一般如何写,从哪些方面写 谁能帮忙实名认证 硅粉的产品辨析 纳米氧化铝和纳米氧化硅的区别 如何写教学反思,最好结合实例 《权力的游戏》无删减版和腾讯的版本有什么区别? 您好,我想要未删减版的权利的游戏? 求权利游戏1-6季无删减版的高清资源。 权力的游戏无删减版用什么播放器能看? 权力的游戏未删减版哪里有? 用玉米面做小油条,玉米面、面粉、酵母粉的比例该如何掌握? 哪位好心人能搞到权游1-8季无删减版的百度云,谢谢了 烧烤用怎么腌制香螺 响螺和牛肉能不能一起炒来吃 谁知道卤水怎么调??? 拼多多用手机号码绑定的,可是我登录不成功,验证码不成功怎么办 红糟是什么