当前位置:编程学习 > C#/ASP.NET >>

探讨一下分库查询的问题

在网上看了很多种方案, 始终不太满意, 分库的难点主要在于 查询 , 分页和排序。 

比如 人员表,有人员ID,人员名字, 创建时间,部门ID,根据人员ID来分库,问题来了,

 

1 如果查询条件中有人员名字,该怎么查,  全部数据库查 一次再汇总?

2 有分页,  根据创建时间排序 , 这种情况该如何办? 



希望大家能把解决方案说的越详细越好, 这个问题主要是探讨用的。  --------------------编程问答-------------------- 如果只是出于性能的考虑,不建议在应用层做“分库”,事实上有很多分布式数据库的框架可以在底层专业地解决这种问题。 --------------------编程问答-------------------- 如果你自己分为多个服务器,那么你自己当然要查询所有服务器上的数据并且合并。但是你自己知道哪些条件的数据放在哪些服务器上,所以你有时候也可以避免查某些服务器。

如果你使用SQL Server,它可以自动分区到几台服务器上,并处理查询。或者MongoDB自动分片到百台服务器上(而且数据会自动备份到其它),也可以自动处理查询。 --------------------编程问答-------------------- 你的问题暴露了一个设计问题,就是你根本没有意识到“分库”的机制是什么。如果你不先说出分库的机制,对于“全部数据库查 一次再汇总”这种说法根本无法给出判断。 --------------------编程问答-------------------- 标识关注 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
如果只是出于性能的考虑,不建议在应用层做“分库”,事实上有很多分布式数据库的框架可以在底层专业地解决这种问题。


能说的更详细些吗?举个例子来听听。  --------------------编程问答--------------------
引用 3 楼 sp1234 的回复:
你的问题暴露了一个设计问题,就是你根本没有意识到“分库”的机制是什么。如果你不先说出分库的机制,对于“全部数据库查 一次再汇总”这种说法根本无法给出判断。


机制?  没听明白,SP大哥能详细举个例吗。 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,