正在用一段java程序收集新浪微博的数据,本来用的sqlserver 2008r2,后来因为它有单个数据库最大容量限制就改成了mysql,但是发现记录插入非常慢。具体情况是这样的,我大概每5秒钟将收集到的数据约400条插入两个表中,其中200条有15个字段,另外200条有10个字段。原来使用sqlserver的时候,这样插入一次耗时在200微秒左右,几乎感觉不到。
但是换成mysql之后就非常慢,使用innodb引擎的时候竟然达到了10秒以上,换成myisam变成了6秒,但依然太慢了。我也尝试了改用批处理(就是用prepareStatement,然后收集到4000条再executeBatch),每4000条插入一次需要60秒,几乎没有性能提高。但是我使用这个网址(http://elf8848.javaeye.com/blog/770032)里的程序插入10w条记录也只耗费了12750ms,也就是12秒多一点的时间。我能看到的唯一不同就是这段程序里插入的记录每条只有两个字段,但是那也不至于差了这么多啊以前没有使用过mysql,在网上查了很久也没找到什么原因,走投无路了,请各位赐教。