首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据库拆分有关问题

2013-01-28 
数据库拆分问题!我现在有一个180万条数据的数据库,我要根据它的条码最后一位数0-9拆分成10个数据库分别把0

数据库拆分问题!
我现在有一个180万条数据的数据库,我要根据它的条码最后一位数0-9拆分成10个数据库分别把0-9的数据存放到拆分好的数据库?请问怎么拆分数据库呢?或者有更加好的思路,给小弟讲讲,小弟在这里谢谢各位了! 数据库
[解决办法]
楼主

首先如果数据量很大,可以考虑表分区。

拆库一般不轻易操作,实际生产环境中,拆库意味着推翻了相关的DB关联和程序代码。

你的数据只有180W,不需要做任何处理,用索引或者新增列标识记录属于0-9哪个值即可
[解决办法]
先不管数据量,从你的思路上来说就有点走了极端,如果觉得实在很大,那应该先拆表,SQLServer特别是高版本的库,就算1T也不算过分。多个库连接查询开销很大。所以不要轻易拆库。如果你是应为180万数据查询慢,应该着眼于如何优化,特别是索引方面。180万的表在我工作经验中连中等表都算不上,不是特别复杂的查询完全可以秒杀
[解决办法]
可以考虑hash取模方法,也就是最后一位%10 。即使要最后2位或3位,采用hash取模方法都可以把数据拆分到10个数据库中。
hash取模方法,就是数据在10个数据库中比较均匀,它的缺点就是以后作横向扩展比较麻烦。

热点排行