问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

perl dbi mysql 向表中插入数据速度很慢

发布网友 发布时间:2022-04-07 19:10

我来回答

2个回答

热心网友 时间:2022-04-07 20:40

DBI默认是自动commit的。
因此,你循环里面的
$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6]);
每插一行,就commit一次,效率就很差了。

1.在连接库后,禁用自动commit:
$dbh->{AutoCommit} = 0;

2. 控制commit频度:
$ImportData->execute(temp[0],$temp[1],$temp[2],$temp[3],temp[4],$temp[5],$temp[6]);
$i++;
$dbh->commit() if $i % 1000==0; #插1000行,commit一次

然后,你就会体会到飞一般的感觉

热心网友 时间:2022-04-07 21:58

同样的程序、同样的数据,运行速度是环境决定的,Windows在大型数据吞吐方面肯定比不上Linux的。

另外你需要注意点,插入数据库的语句一般会随着数据库里面的数据的增加而减慢,如果向一个空库插入一条数据,肯定一瞬间就完成了,而向一个拥有庞大数据的表里面插入,可能会需要很久。你比较两个系统的速度,应该是具有相同的初始数据量。

此外影响插入速度的数据库表的索引,一般说来索引越少插入就越快,在大量数据插入前,可以删除索引。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么退出夸克HD账号登录状态? 猫感冒了看兽医要多少钱 Pka 与 PH的区别及各自的应用领域 储干在公司是干什么的职位啊 2025数字博览会 岗位丨申万宏源证券研究所招聘实习生(可留用), 国海证券研究所+开源证 ... 用发酵粉蒸馒头如何蒸? 雷蛇现在的售后保修政策是怎样的有个鼠标双击了 安代驾好还是e代驾好 急需一篇科技小论文,六年级水平的`要快`谢谢啊`! 投资阿里翁神马商城股票靠谱吗 阿里翁.神马商城有股票吗? 谁知道阿里巴巴的股票代码?还有它是在哪上市?怎么买啊? 阿里巴巴的美国股票代码是多少 怀疑自己得了幽闭空间恐惧症、 周公解梦 梦见沙发 梦见仇人到我厂里来帮我装沙发包是什么意思? 梦见朋友做了个沙发很漂亮 汽车收音机rm是什么意思 北京梵唯映画影视传媒有限公司怎么样? 杭州梵唯映画文化创意有限公司怎么样? 上海梵唯医药科技有限公司怎么样? 西柚是我们平日吃的那个绿色的跟小西瓜大的柚子吗? lgv30+怎么强制出厂化 lgv30的骁龙835是满血的吗? LG-SU660,刷成MIUI后基带未知,但是一切正常,这有没有影响啊? lg+v30+刷机 - 信息提示 新浪视频如何分享到微信 2020年6月份河南南阳花生米会涨价吗? 求股票名称的股票代码 股票代码212018它的股票名称是什么 服装加工厂报价单 求成本计算excel表格,代加工企业 服装报价单怎么做包括原料辅料加工费 瓷砖加工费价目表 瓷砖加工费价目表 贴牌加工的产品价格怎么算 贴牌加工的产品价格怎么算 一套模具价格怎么算 求SMT贴片、插件的具体报价表? 求SMT贴片、插件的具体报价表? 求机械加工工时工序价目表 喜依宝婴幼儿健康皂露是正规厂家生产的吗 两三岁的宝宝越不让他做什么越要做,家长应该如何处理? 淘宝上买东西评价后不能改了吗 如果用尽心思宝宝依然不喜欢喝奶,这时候该怎么办? 为什么淘宝不能修改评价了? 宝宝睡觉还“偷笑”,这是怎么回事? 周冬雨拿了影后,为什么还要出演《千古玦尘》?