ssh框架下后台数据库处理时间很长,怎么办? 5C

就是后台有个操作,对数据库的信息进行合并计算,最少要个10分钟牵扯到八九个表最少几百万条的数据及读写到文件,导入数据库等操作,我并不需要马上在前台体现出来结果什么的。就是进行这个操作的时候在前台提示正在处理中,后台直接对数据库操作,完成后返回前台提示成功,这样子可行么?并且可能同时有多个人在使用,后台用多线程?

7个回答

前端可以用websocket

1.对涉及到的表通过查询条件建立索引。
2.如果不是需要一下子把数据都取出来,可以将查询做成分页模式。
3.可以将这个过程分成两步,通过两个前台操作完成,第一个操作是在服务器本地生成文件,第二各操作在浏览器端导出已经生成到服务器上的文件。

如果前端不需要展示的话,可以后台开一个处理线程处理,然后就返回一个处理id,处理完成后将处理id和处理结果写到数据库里,后面前端就可以根据这个id来查询处理状态了。

qq_15259781
Winloong 当然如果是可能有许多用户同时操作怕系统承受不住的话,用消息队列的方式,将任务写到消息队列里而不是马上处理,然后有一个模块从消息队列读取任务执行。
大约 2 年之前 回复

异步+消息队列,客户端提交请求,把人物放入消息队列处理,处理完通知用户。

具体参考:http://blog.csdn.net/happyheng/article/details/73017421

涉及计算提前计算好,cube 便于提升效率

可以使用缓存粉形式...

建立索引,多开几个线程!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问