要将一个50到60W记录的表完全插入到一个6000w记录的表,性能非常差,请问应该使用什么方式可以提高性能?

解决方案 »

  1.   

    就是说你的表是innodb的还是myisam的
    另外多余的索引会造成插入的速度减慢
      

  2.   

    恐怕大量时间都花在索引重建上了.注意两个问题.1是被插入的表索引不要太多.不然每插一条更新索引是个很繁琐的事情.  2是待插入的表,select中的条件字段是否有索引?
      

  3.   

    看你的插入数据的属性,看是否可以用分区表来提高性能。这是MYSQL新支持的,分区表对于单表大数据量还是很有效果的。
      

  4.   

    我的表6000W数据的是事务表innodb引擎,60w是myisam的表,6000w的有两个索引,24个字段,另外我想知道目前比较稳定的mysql版本中那个版本支持分区,不要5.1的,太不稳定了
    其他版本有没有使用过的,支持分区稳定性如何,还有就是我删除索引导入然后再重建对于插入60w到6000w是否确实会节省性能,由于目前没有那么大的数据量,所以没办法测试,不晓得有没有那位测试过
      

  5.   

    1、分区是MYSQL5.0以后才支持的新功能,稳定性肯定不如ORACLE等很早版本就支持分区的产品。
    2、“删除索引导入然后再重建对于插入60w到6000w是否确实会节省性能”,肯定会提高性能,因为减少了增删数据带来的索引碎片,但是,除非这张表跑了很长时间,碎片很多,否则性能提高会让你看不出来这一点我在ORACLE上试过
      

  6.   

    增加:
    bulk_insert_buffer_size系统参数的值!!!!