首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  
  •   showecho · 143 天前 · 908 次点击
    这是一个创建于 143 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个资料筛选和导出任务,涉及多个表,每个表有 10-30 个字段,很多字段会被定制比如省份和城市,可以让用户选择哪个省和哪个城市,如果一次需要导出个十万条,就要执行十万次循环,每次循环执行几十次筛选条件,cpu,
    内存,时间什么 的都是压力。

    怎么写可以实现?
    14 回复  |  直到 2018-12-01 18:44:44 +08:00
        1
    glacer   143 天前
    这个应该是数仓的活
        2
    ferock   143 天前 via iPhone
    命令行
        3
    orqzsf1   143 天前
    缓存?
        4
    aloyuu   143 天前
    最致命的是 PHP 有超时......
        5
    teg1c   143 天前
    异步队列处理吧。
        6
    oneonesv   142 天前
    php-cli 异步处理
        7
    pinews   142 天前
    确定不是黑?
        8
    changepll   142 天前
    @pinews 你让我笑出声
        9
    pinews   142 天前
    @changepll
    @aloyuu
    @oneonesv
    @ferock 长时间执行可以考虑 set_time_limit(0),然而这和 php 没关系吧,具体在说什么不知道,若确实程序复杂,可以生成中间表,分批完成。
        10
    947211232   142 天前
    方案一:死数据一次写入缓存就够了,往后直接读取缓存
        11
    947211232   142 天前
    方案二:死数据写配置文件 json 格式什么都好,能读出来就可以
        12
    947211232   142 天前
    方案三:影响 php 性能的尽量找合适的工具、方案,又不是上学时候老师规定只能 php+mysql
        13
    gujinxin   142 天前 via Android
    异步队列吧,好了之后把文档存在目录上,给前端推消息,前端点击下载
        14
    DylanChou   141 天前
    存储过程?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3185 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 04:24 · PVG 12:24 · LAX 21:24 · JFK 00:24
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1