mycat 学习

1、什么是mycat

mycat是一个抽象的数据库代理,可以实现分表分库,适用于不同类型的数据库,比如oracle、mysql、sql server等等。mycat有利于提升开发速度,降低开发成本,但是相比直接代码实现效率比较底,建议如果使用的数据库相同时代码实现分库分表更加效率。

2、一般数据库的拆表方式

随着时间的推移,业务的不断发展,用户数量大大增长,就会存在表操作越来越慢的问题,普通的优化代码结构、优化sql已经无法实现对效率的优化,这个时候就需要对已有表进行拆分来优化效率,拆分的方式大概有2个方向,横向拆分和纵向拆分。

1)横向拆分

所谓的横向拆分就是对表字段进行拆分,常用字段和不常用字段拆分后,由于表数据量减少进而提升效率,但是由于修改了表结构,需要对原有代码进行修改。

 

 拆分后

 

 

2)纵向拆分

纵向拆分是对表数据进行拆分,常用的拆分方式对字段id取余,并且新增业务对应编号表,新增数据时保存该数据的业务编号,更新时根据业务编号获取对应表进行更新数据,查询时使用视图查询。根据实际业务需求可以对其他字段进行拆分,方便后续扩展。

 

posted on 2020-04-24 16:15  幻灵祭祀  阅读(175)  评论(0编辑  收藏  举报

导航