小妹对mysql涉猎不多,在版内也没找到相关答案,所以就求教于各位大侠。
问题起因:我自己用jdbc测试,用insert value的方式,插入40w条数据,测试了InnoDB,MyISAM引擎和预处理及批处理几种方式,最后得出结论是InnoDB引擎下预处理且批处理性能最好,但是也要37s左右。(是本地数据库)其它方式一般也就在50s不到的样子,最慢的就是100多s(MyISAM非预处理单条插入)。
后来,用了LOAD DATA LOCAL INFILE的方式,同样的数据,用了不到2s,我想问一下,mysql究竟是如何实现load file的,都是插入数据,为什么效率会提高那么多?
ps:我知道可以去看源码,不过太多了有点头大,希望哪位高手能简要的说明性能提高的原理,或者告诉我源码哪个文件里能够找到相关原理。唉最近项目要用,没有办法,提前谢谢了!分只能给这么多了!

mysql是如何进行loadfile的?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- dyccsxg 2010-12-13 17:16关注
这里有解释
[url]http://dev.mysql.com/doc/refman/4.1/en/insert-speed.html[/url]
[url]d.Insert data into the table with LOAD DATA INFILE. This does not update any indexes and therefore is very fast. [/url]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报