0
0
php大数据量问题,请教
在网站上用户要下载历史记录,有几百万条记录,一旦用户选择全部条件搜索后下载,数据库和服务器就好像挂掉了,请问有哪些方法可以解决这类问题?
------解决思路----------------------
php打包,分割成几个文件,最后zip下载。
点击下载后,异步处理,后台启动一个php进程处理,避免服务器受到影响。
------解决思路----------------------
数据库做个主从,这种查询就直接走从数据库好了,如果实时性 不强的话,也可以考虑在空闲时段打包好(可以增量打包如果用户可接受的话)提供给用户下载,
最重要的一点 优化你下载的程序。
------解决思路----------------------
这取决于你打算将什么样格式的数据给用户
如果是在查询后逐条组装,显然是很慢的
如果格式比较简单,可用 INTO OUTFILE 子句直接将查询结果保存于文件。再将该文件的连接发给用户
INTO OUTFILE 子句默认产生的文件是以 Tab 做字段分隔符(很普通的 csv 格式),当然你还可以指定
INTO OUTFILE 产生的文件,可以用 LOAD DATA INFILE 指令导回表中。
不失为一种数据备份的方法
在网站上用户要下载历史记录,有几百万条记录,一旦用户选择全部条件搜索后下载,数据库和服务器就好像挂掉了,请问有哪些方法可以解决这类问题?
------解决思路----------------------
php打包,分割成几个文件,最后zip下载。
点击下载后,异步处理,后台启动一个php进程处理,避免服务器受到影响。
------解决思路----------------------
数据库做个主从,这种查询就直接走从数据库好了,如果实时性 不强的话,也可以考虑在空闲时段打包好(可以增量打包如果用户可接受的话)提供给用户下载,
最重要的一点 优化你下载的程序。
------解决思路----------------------
这取决于你打算将什么样格式的数据给用户
如果是在查询后逐条组装,显然是很慢的
如果格式比较简单,可用 INTO OUTFILE 子句直接将查询结果保存于文件。再将该文件的连接发给用户
INTO OUTFILE 子句默认产生的文件是以 Tab 做字段分隔符(很普通的 csv 格式),当然你还可以指定
INTO OUTFILE 产生的文件,可以用 LOAD DATA INFILE 指令导回表中。
不失为一种数据备份的方法
相关文章
ini_set()在PHP中的作用是什么?
在PHP中的readlink()函数
我们如何编写PHP脚本来释放与MySQL结果关联的游标内存?
PHP intdiv() 函数
我们如何使用PHP脚本删除MySQL数据库?
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
Java Spring Boot 微服务实战
本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。
1
2025.12.24
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章









