目前公司库最大数据量在2千万,明显影响性能了。于是让我搞搞架构,做个分库分表的。
已经写了demo,测试没啥问题。那么关键问题来了。对于这一张张1千万、2千万的表,按照100万为一个表,我用什么工具去分呢?还是手动拷贝前面100万,第二个100万,第三个100????感谢各位老铁,很多年不玩CSDN,老账号都没了,积分也没有多少

解决方案 »

  1.   

    insert + delete 吧
      

  2.   

    创建分区表--导出原表数据-->新表名称改为原表名-->插入数据
      

  3.   

    已经解决:对于几百张表需要每个月新建一次:create table newTableName like oldTableName.
    数据:insert insert into newTbleName  values()  select * from oldTableName limit m,n;
      

  4.   


    这个一看不行的呀因为比如2千万。分在10个库,每个库分200万数据。目前200多张表了手动肯定不行
    我用java写了个程序。逻辑在楼上用其他语言也一样,或者写存储过程、脚本等等都可以。
      

  5.   

    看你分库分表规则,按照范围、哈希?,通过select,insert分哇
      

  6.   

    分区表可以做过渡使用。
    如果想实现分表的话:
    1、取主键的哈希值,在原有表上增加一个列,这个列为你要插入哪张表的表明列
    2、存储过程批量插入到新表里
    create procedure xx()
    beginend
      

  7.   

    创建分区表 --> exchange --> 创建普通表 --> exchange 写成脚本的方式 
      

  8.   

    如果表不多, 用partition吧。
    表多了, 就只能insert into new_table from old_table limit的方式了。