首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

freyja 可能会加入分库、分授勋能

2012-07-26 
freyja 可能会加入分库、分表功能水平分库、分表一直都没去考虑。如果要去实现那么大致的想法是表、库都和某个

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

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

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

例如分库就根据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 = '张三' 这种是肯定要把所有的表查找一遍的

?

1 楼 sundysea 2012-05-04   查找排序,分页,不是不能在数据端坐了? 2 楼 aa87963014 2012-05-04   sundysea 写道查找排序,分页,不是不能在数据端坐了?

分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题
3 楼 sundysea 2012-05-09   aa87963014 写道sundysea 写道查找排序,分页,不是不能在数据端坐了?

分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题

如果t_user 被封为t_user1,t_user2,t_user3

我现在要查询所有的user信息,并排序,分页。一个sql如何处理呢? 4 楼 aa87963014 2012-05-09   sundysea 写道aa87963014 写道sundysea 写道查找排序,分页,不是不能在数据端坐了?

分表分库只是根据规则帮你获得该sql应该去哪个数据库的哪个表执行,不会影响其他的问题

如果t_user 被封为t_user1,t_user2,t_user3

我现在要查询所有的user信息,并排序,分页。一个sql如何处理呢?

当然会被分成3条sql 执行得到结果然后合并成一个结果集,当然之后的结果 再次排序、分页是要在java里面做的 5 楼 aa87963014 2012-05-09   实际上,分页、排序这部分希望用户自己来处理 分页和排序 这样效率会更高一些

热点排行