探讨一下分库查询的问题
在网上看了很多种方案, 始终不太满意, 分库的难点主要在于 查询 , 分页和排序。比如 人员表,有人员ID,人员名字, 创建时间,部门ID,根据人员ID来分库,问题来了,
1 如果查询条件中有人员名字,该怎么查, 全部数据库查 一次再汇总?
2 有分页, 根据创建时间排序 , 这种情况该如何办?
希望大家能把解决方案说的越详细越好, 这个问题主要是探讨用的。 --------------------编程问答-------------------- 如果只是出于性能的考虑,不建议在应用层做“分库”,事实上有很多分布式数据库的框架可以在底层专业地解决这种问题。 --------------------编程问答-------------------- 如果你自己分为多个服务器,那么你自己当然要查询所有服务器上的数据并且合并。但是你自己知道哪些条件的数据放在哪些服务器上,所以你有时候也可以避免查某些服务器。
如果你使用SQL Server,它可以自动分区到几台服务器上,并处理查询。或者MongoDB自动分片到百台服务器上(而且数据会自动备份到其它),也可以自动处理查询。 --------------------编程问答-------------------- 你的问题暴露了一个设计问题,就是你根本没有意识到“分库”的机制是什么。如果你不先说出分库的机制,对于“全部数据库查 一次再汇总”这种说法根本无法给出判断。 --------------------编程问答-------------------- 标识关注 --------------------编程问答--------------------
能说的更详细些吗?举个例子来听听。 --------------------编程问答--------------------
机制? 没听明白,SP大哥能详细举个例吗。
补充:.NET技术 , ASP.NET