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

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

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

前言:

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

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

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

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

先建立文件组与文件:

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

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区

 

修改表索引:

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

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

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区

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

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区

 

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

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区

 

系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区系统高并发量优化之对数据库现有表的分区表操作-鸿蒙开发者社区测试结果:

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

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

总结一下:

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

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

分类
收藏
回复
举报
回复
    相关推荐