数据已超千万  2G大小。  每天约插入20W条数据。 请问如何分表呢? 步骤?

解决方案 »

  1.   

    我看你每次给人回复 分表时 都粘贴 这一大段。我想问下 线上 如何修改这种 分区表呢?
    要重新 create table ...
        PARTITION BY RANGE()...然后在把之前的记录插入进来?
      

  2.   

    直接 alter table 试一下不过从速度上来说,还是创建一个新的比较好。
      

  3.   

    生产环境每时都有数据在插入的,   不敢直接 alter 呀,  创建新的 导入旧数据时 也得需要挺长时间呀。 
      

  4.   


    注释:您不能使用ALTER TABLE向一个没有进行分区的表添加分区。alter  根本就不能用的。
      

  5.   

    楼主线上的环境做主从了么?还是单机的?如果有主从结构,可以先把从上的复制停止,然后建新结构的表,导数据,再rename table,这时候从已经是分区结构的表了。再把业务代码的IP地址指定到从上,记录下filename and pos,再修改主,再同步回来。分表来说,程序端需要做个路由,根据指定的规则去对应的表里读写数据,程序端改动比较大。
      

  6.   

    你好,  分表如何做路由呢? 我看 http://blog.51yip.com/mysql/949.html mysql 分表3种方式中 直接用 merge 引擎来 建一个总表, 也是不需要改动程序的啊?