系统高并发量优化之对数据库现有表的分区表操作

发布于 2022-4-25 16:17
浏览
0收藏

作者 | 跟鸟叔学编程
来源 | 今日头条

前言:

书接上回,上篇讲了分区表的相关知识,以及如何创建分区表!本文我们讲讲,如何在现有的数据库表中,做分区操作!如果对上文感兴趣的小伙伴,可以通过如何创建分区表进行系统的学习!

利用分区的方式,可以提升系统的访问性能,但这种设计原则上应该在开发阶段就要确定!而不是通过亡羊补牢的方式,但项目的传承,并非一波人所为,后来者也要解决前任们留下的问题。

在生产库上进行操作,总是那么紧张刺激!手一抖,黄金万两!一个失误,从删库到跑路!所以一定谨慎而为之,否则就是教科书一般的生产事故了!

接下来我们一起学习下,如何在现有库的表中,做分区操作!

先建立文件组与文件:

这一点与新建完全是一样的,我们可以通过数据库右键属性,创建好需要的文件组与文件,这一步在上篇文章中讲解过了,这里我们直接操作:系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

 

修改表索引:

由于使用分区的存储方式,数据逻辑上完整,但实际分别存储在不同的磁盘之中,所以索引的连续性,会遭到破坏!低版本例如:2008必须删掉主键的聚集索引,2012版目前没有发现类似问题。

其次,缺少了聚集索引,为了保障查询效率,则需要将主键设置为非聚集索引,鱼和熊掌不可兼得,但可以尽量保证性能优势的最大化。

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

创建分区函数与分区策略:

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

 

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区注意事项:我们目前以SQLSERVER数据库为例,可以手写创建策略的代码,也可以通过创建向导完成。

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

 

系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区测试结果:

上述操作完成之后,那么分区表已经创建完成了,是时候测试一下结果了。系统高并发量优化之对数据库现有表的分区表操作-开源基础软件社区

大功告成,虽然这种方式不提倡,但无疑是对系统常年运行,积累数据过多,导致查询性能不断下降的一种有效的解决方案!

总结一下:

数据库的设计与规划,是一件严谨而细致的工作,在项目开发阶段,很多对于未来会产生的问题,就要进行充分的预估与着想!

像这样亡羊补牢的方式,虽然可以进行补救,但无疑是存在一定风险的!

收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐