我现在有一个表A,数量是4亿+,由于是分区表,以前直接从生产库的表B拷贝相应的月份的分区过来即可!现在要求时间延迟不超过一天,即每晚从表B同步昨天的记录到表A,数量在300w左右。表A有20个字段,存在多个索引,如果插入前不取消索引,插入很慢,300w一个晚上也插入不完;但是如果取消索引,插入完后,重建索引的时间也无法接受,查询需要这些索引。求教有什么方法可以解决,或者重新建立一个新的表结构?

解决方案 »

  1.   

    插入速度貌似有点慢啊  
    表A是什么引擎的 my.cnf的配置如何
      

  2.   

    Myisam的引擎,按月份分区了,主要是索引,导致插入很慢。有什么好的方法吗,分表union查询不是很好
      

  3.   

    SELECT  MyISAM更优 
    INSERT       InnoDB更优
    UPDATE       InnoDB更优
    DELETE       InnoDB更优 它不会重新建立表,而是一行一行的删除
    你每天都要插入这么大量的数据
    还是把表改成   InnoDB的吗
    只是建议
      

  4.   

    说个 题外话!
    如果你们数据量这么稳定的 增长  为什么不换个  其他 大型数据库
    尤其是公司用
    几亿的数据量  每天 百万级  千万级的增长,用DB2  oracle 应该更加方便管理应用
    当然  没有 黑  mysql的意思
      

  5.   


    --没听说过阿里巴巴去IOE吗?
      

  6.   


    --没听说过阿里巴巴去IOE吗?
    哈哈!这样子的例子对我们来说有毛毛意思,如果这样子真的计较下去!根本就有这些公司存在的必要咯!
      

  7.   


    一直在学习mysql,就是缺少这样的环境,你能把环境给我一个不?我尽力帮你调!
    表结构,然后给一点点出入数据就行。
      

  8.   

    版主大大
    楼主一楼说  “即每晚从表B同步昨天的记录到表A,数量在300w左右”
      

  9.   

    mysql的表需要比较频繁的整理、优化的,如果长时间不的话,会明显影响速度。不知道楼主有没有这个问题。多硬盘+多线程。再不行,主机组。不要什么问题都往软件身上推,不肯增加硬件成本是不行的,程序不是万能的。