微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MyShardingSql 基于 Mybatis+ 插件技术实现的分库分表

程序名称:MyShardingSql

授权协议: GPL

操作系统: 跨平台

开发语言: Java

MyShardingSql 介绍

基于Mybatis+插件技术实现的分库分表技术,总体思想是使用Range范围+哈希取模 实现分库分表,降低表内记录数提升性能

关于Mybatis参数

1)支持设置sql执行超时时间

2)localCacheScope参数设置为STATEMENT而非SESSION

分库分表功能

sql+包含分片键 (自动提交) -支持以下功能
1)Select|Insert|Update|Delete
2)sql内任意多个表的Join操作 [不建议太多表的join]
3)sql类型无任何限制
4)sql支持分片内部的读写分离
5)从数据库的轮询实现负载均衡

sql+不包含分片键(自动提交)(不支持)
1)必须要有分片键

sql+包含分片键(手动提交) -支持以下功能
1)支持事务
2)支持事务内的任何CRUD
3)sql类型无限制

指定分片键

分片键支持2种类型

1)xml内部的sql占位符,使用sqlField注解

2)函数的参数下标直接指定,使用ParameterIndex注解

设计缺点

1)数据量越来越大时,配置越多,需要创建的数据源也越多

2)内部只支持Range和哈希取模 2种分库分表

MyShardingSql 官网

https://gitee.com/qiangzigege/MyShardingSql

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐