springboot按月分表的方法是什么


本文小编为大家详细介绍“springboot按月分表的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot按月分表的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在实际工作中,会遇到业务比较集中的情况,随着时间推延,这部分业务关联的mysql表就会越来越大,十分臃肿。尽管在项目架构上做了读写分离,也会导致查询的时候出现比较慢的情况,导致线上慢查询的出现。这种情况下导致的慢查询,单纯从sql优化的角度是无法解决的,此时我们就会用到分库分表。由于我们目前的问题是部分mysql表比较大,采用分表的方式即可解决,本文主要讨论分表的情况。垂直分表简单理解:把同一个表中的数据按列拆分到不同的表中。所谓的垂直分表指的是将表结构按照功能模块、关系密切程度划分出来,部署到不同的库或者不同的表中。水平分表简单理解:把同一个表中的数据按行拆分到不同的表中。所谓的水平分表,即将数据按照某种规则存储到不同的表中。例如日志表,可以使用按月或者按天分表,即每个月的日志数据单独存储在一张表中。这些表同时属于一张主表,拥有相同的表结构,但查询时可以大大减轻主表查询的负担。主要使用mybatis-plus提供的功能来实现功能。MybatisPlusConfig配置类实现:Tables类实现:在使用的时候,只需要在mysql表对应的entity里添加一个字段month即可。如果month不为空就会按照month的日期所在的月份对数据库表明进行动态拼接。如果month为空则不进行拼接,直接访问总表。entity类实现:mapper类实现:需要手动把当年需要的数据库手动创建出来,命名规则对应MybatisPlusConfig类中的拼接规则。由于我一直用的是mybatis组件,需要升级为mybatis-plus,在升级的过程中出现如下的问题。问题原因: pom文件依赖的是mybatis-plus,配置文件中使用的是mybatis的配置,导致mybatis加载失败。解决方法:把配置文件的mybatis配置改为mybatis-plus配置问题原因: 在未升级成mybatis-plus之前,可以直接放回数据库中的字段命名。 升级之后,mybatis-plus将放回字段自动映射为entity中的字段命名。解决方案: 梳理受到影响的代码逻辑,更新使用的字段命名。读到这里,这篇“springboot按月分表的方法是什么”文章已经介绍完毕,免费云主机域名想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: vue中如何解决qs问题

这篇文章主要介绍“vue中如何解决qs问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中如何解决qs问题”文章能帮助大家解决问题。 什么是查询字符串查询字符串是一个包含在URL中的参数列表,用于将数据传递给We…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/01 17:36
Next 07/01 17:36

相关推荐