• 请不要在回答技术问题时复制粘贴 AI 生成的内容
showecho
V2EX  ›  程序员

PHP +mysql 如何执行一个长时间的导出任务?

  •  
  •   showecho · Nov 30, 2018 · 3184 views
    This topic created in 2899 days ago, the information mentioned may be changed or developed.
    一个资料筛选和导出任务,涉及多个表,每个表有 10-30 个字段,很多字段会被定制比如省份和城市,可以让用户选择哪个省和哪个城市,如果一次需要导出个十万条,就要执行十万次循环,每次循环执行几十次筛选条件,cpu,
    内存,时间什么 的都是压力。

    怎么写可以实现?
    14 replies  •  2018-12-01 18:44:44 +08:00
    glacer
    glacer
    Nov 30, 2018
    1
    这个应该是数仓的活
    ferock
    ferock
    Nov 30, 2018 via iPhone
    2
    命令行
    orqzsf1
    orqzsf1
    Nov 30, 2018
    3
    缓存?
    aloyuu
    aloyuu
    Nov 30, 2018
    4
    最致命的是 PHP 有超时......
    teg1c
    teg1c
    Nov 30, 2018
    5
    异步队列处理吧。
    oneonesv
    oneonesv
    Nov 30, 2018
    6
    php-cli 异步处理
    pinews
    pinews
    Nov 30, 2018
    7
    确定不是黑?
    changepll
    changepll
    Nov 30, 2018
    8
    @pinews 你让我笑出声
    pinews
    pinews
    Nov 30, 2018
    9
    @changepll
    @aloyuu
    @oneonesv
    @ferock 长时间执行可以考虑 set_time_limit(0),然而这和 php 没关系吧,具体在说什么不知道,若确实程序复杂,可以生成中间表,分批完成。
    947211232
    947211232
    Nov 30, 2018
    10
    方案一:死数据一次写入缓存就够了,往后直接读取缓存
    947211232
    947211232
    Nov 30, 2018
    11
    方案二:死数据写配置文件 json 格式什么都好,能读出来就可以
    947211232
    947211232
    Nov 30, 2018
    12
    方案三:影响 php 性能的尽量找合适的工具、方案,又不是上学时候老师规定只能 php+mysql
    gujinxin
    gujinxin
    Dec 1, 2018 via Android
    13
    异步队列吧,好了之后把文档存在目录上,给前端推消息,前端点击下载
    DylanChou
    DylanChou
    Dec 1, 2018
    14
    存储过程?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1710 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 267ms · UTC 10:31 · PVG 18:31 · LAX 02:31 · JFK 05:31
    ♥ Do have faith in what you're doing.