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 = '张三' 这种是肯定要把所有的表查找一遍的