问题描述
之前项目只是用一个数据库。id都是用hibernate自增方式,1、2、3这样的int类型。但是后来因为业务的增加,采用了两个数据库分布在不同的服务器上、为了保证id的唯一,要采用全局事务了,想采用hibernate的UUID,但是这样该表的话,变化太大了,维护量太多。大家有什么好的办法吗?
解决方案
一般而言数据库建表时int不明确说明的话应该是4字节int,最大值2的32次方,4294967295,42亿,如果你确定或者预见再未来的可接受的N年内你们每个库的记录不会超过20亿,那就让一个从0自增,另一个库从20亿开始自增,根本不用管什么全局事务。
解决方案二:
ID 这个东西.. 要么 uuid 要么使用标识区分 比如 BJ01_XXXXXXXX 按照你们的实际去划分这个层次关系 最后容易汇总信息 还容易查询
时间: 2024-09-19 20:36:26