欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

freyja 可能会加入分库、分表功能

程序员文章站 2022-07-12 17:22:20
...

水平分库、分表一直都没去考虑。

如果要去实现那么大致的想法是表、库都和某个字段的值关联。

例如分库就根据userId去摸 1、2、3、4、5、6、7、8、9 个库。

并且建立1、2、3、4、5、6、7、8、9 个对应的数据源 datasource

在不请入原有的代码前提下,

 

select * from t_user where userid = 1;

 

那么根据userId = 1 得知这条sql会在db1的数据库中,那么分配datasource1 去执行查询

 

userid 则为关键字段,类似之前的Group,sql处理都会围绕这个字段来处理

 

分库的字段都必须有类似的这种字段。这样就差不多解决了分库问题。

如果没有这个字段,那么就需要多个库搜索了,然后汇总结果。

 

分表嘛还是一样。如:

select * from t_user where userId = 1

通过转换:知道userId = 1的记录存在与t_user1中。 那么最终会被转换成为select * from t_user1 where userId = 1

 

同理,如果是select * from t_user where name = '张三' 这种是肯定要把所有的表查找一遍的