慕阮 2010-12-13 08:29
浏览 256
已采纳

mysql是如何进行loadfile的?

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

  • 写回答

1条回答 默认 最新

  • dyccsxg 2010-12-13 09: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 怎么样用pyhton爬取某个网站XHR中某个进程的URL
  • ¥20 如何爬取金十app关注的博主历史发帖数据,并标记发布的日期时间分钟
  • ¥15 关于本地大模型的迁移和组网访问
  • ¥15 大一问从视频中每隔30m截取一帧图片
  • ¥15 求一份热敏打印头文档
  • ¥15 暗室校准方式能用喇叭天线吗
  • ¥15 dcm4chee系统使用详细介绍
  • ¥15 有奖提问,有没有懂固高卡以及滚筒轴+平移轴配合运动的哥?
  • ¥15 博途安装完 sim_ekb激活长密钥时报错 CryptAcquireConrext PROV_RSA_FULL Error Of Containger opening:NTE_EXISTS
  • ¥20 做五个实验,根据内容编写在优矿的代码
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部