求指点, PHP 脚本操作 MYSQL 数据库批量插入数据问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
2ME
V2EX    程序员

求指点, PHP 脚本操作 MYSQL 数据库批量插入数据问题

  •  
  •   2ME 2017-05-26 12:03:17 +08:00 2445 次点击
    这是一个创建于 3063 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原来都没注册一直默默刷帖.. 今天遇到了解决不了的问题来求助大神
    第一次发帖如果有没说清楚的地方麻烦指出来楼下会补充编辑

    新手初级 PHP 程序员遇到了效率问题

    需求: 有一个源数据库为 A 库 若干个需要插入数据的数据库统称为 B 库 最少 100 个这样子
    现在需要从 A 库取数据插入 B 库,每个 B 库每天从 A 库取 1000 条进行插入操作
    也就是循环 100 次脚本 每次往 B 库插入 1000 条
    脚本是在本地跑 写完了之后测试脚本往本地的一个数据库插入数据要 15S 左右 后期数据累计多了 20S 左右
    但是今天实际往生产数据库插入数据测试了一下跑一个库要 15min 左右,后期数据多了肯定会更慢
    时间完全不能接受,这样算下来跑 100 个库就起码要 24 小时了

    插入数据不是简单的数据取出来就插进去就算了 有验证重复的过程 主表插入数据 其他表也会插入相关数据
    本来是验证最花时间 现在验证过程已经经过处理了 跑一次 B 库只会和 B 库做一次数据交互
    所以效率影响基本可以忽略不计 主要是插入数据时候影响的效率
    数据是单条插入 因为主数据插入后获得主键用来后面修改数据以及插入其他表数据
    用事务批量插入的话不可行

    求 V2 的程序员给给调整意见 有需要补充信息的话会在下面补充

    说升级服务器或者修改表结构之类的就算了.. 我没那么高权限 我能做的就是尽力去实现领导需求

    5 条回复    2017-05-28 09:53:18 +08:00
    2ME
        1
    2ME  
    OP
       2017-05-26 13:22:51 +08:00
    目前有个想法是插入到本地数据库把数据库 然后读 B 库的最后一个 ID 再把本地数据库的读出来 循环赋值主键 然后用事务插入 B 库 不知道是否可行
    2ME
        2
    2ME  
    OP
       2017-05-26 14:05:26 +08:00
    好像忘了说 数据库服务器在美帝 - -
    chouchangcn
        3
    chouchangcn  
       2017-05-26 15:43:11 +08:00
    异地读数据当然是网络延迟的原因。。。
    2ME
        4
    2ME  
    OP
       2017-05-26 16:10:45 +08:00
    @chouchangcn = = 我是本地读数据存到异地数据库
    chouchangcn
        5
    chouchangcn  
       2017-05-28 09:53:18 +08:00
    @2ME 你这每次建立数据库的链接不需要时间么。。自己分析看看嘛。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 05:03 PVG 13:03 LAX 22:03 JFK 01:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86