小妹对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]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)