0 0

海量数据如何分库分表提高效率10

现在这弄一个海量数据检索,基本的信息都已经全部建立了,但是下载链接地址是放在数据中的,我使用的数据库是sqlserver,架构用的是hibernate+自己的mvc框架,现在这个表的数据基本导入,现在一共有45210058条,还需要继续导入,基本信息和这个表唯一有关系的是一个挂接号,最可气的是这个挂接号是没有规律、是字符串,不然可以通过id分段来分表,不知大家有没有很好的方法

问题补充:<div class="quote_title">mavlarn 写道</div><div class="quote_div">类似哈希,把字符串经过一些处理,变成一个整数,然后分库分表。 <br />例如要分成4个库,共400个表,表的名字最后是id,从1到400。可以先对400取模,就得到要落在那个表里,再除以4得到落在哪个数据库。 <br /> <br />有一个问题是要想办法让你的哈希算法使这些数据能够比较平均的落在400个表里,具体算法你查一下吧。</div> <br />这个我在说明中已经ps掉了,索引大约现在2亿多,现在还在建,如果这样的话索引要重新建立

问题补充:<div class="quote_title">mikewang 写道</div><div class="quote_div">才4千万条记录, 数据量太小了。 维护好索引就可以了, 不需要其他方式的优化。</div> <br />数据还在整理,呆进一步导入
DAO 
2011年5月30日 15:56

5个答案 按时间排序 按投票排序

0 0

oralce的话可以考虑hash分区

2011年6月02日 16:58
0 0

字符串也完全可以hash到数字上。

2011年5月30日 18:53
0 0

如果只是几千万,是没必要分库分表了,即使是几个亿,也就分几个表就可以。

不管怎么样,还是要建索引。

2011年5月30日 18:25
0 0

类似哈希,把字符串经过一些处理,变成一个整数,然后分库分表。
例如要分成4个库,共400个表,表的名字最后是id,从1到400。可以先对400取模,就得到要落在那个表里,再除以4得到落在哪个数据库。

有一个问题是要想办法让你的哈希算法使这些数据能够比较平均的落在400个表里,具体算法你查一下吧。

2011年5月30日 18:23
0 0

才4千万条记录, 数据量太小了。 维护好索引就可以了, 不需要其他方式的优化。

2011年5月30日 15:56

相关推荐

Global site tag (gtag.js) - Google Analytics