企业网站的建设品牌网站建设框架
企业网站的建设,品牌网站建设框架,网页设计代码放图片,网站开发兼容ie一、场景电商系统每天订单1000#xff0c;订单表可能递增到上千万#xff0c;现在要导出全部的订单数据#xff0c;有没有什么好的解决办法#xff0c;解决导出慢和内存溢出的情况#xff1f;二、参考方案1. 分批次异步导出分页导出#xff1a;按照ID或时间范围划分…一、场景电商系统每天订单1000订单表可能递增到上千万现在要导出全部的订单数据有没有什么好的解决办法解决导出慢和内存溢出的情况二、参考方案1. 分批次异步导出分页导出按照ID或时间范围划分每次导出固定数量如5000-20000条如果按照ID要避免深分页的问题分批查询条件需要带上ID如果按照时间导出可以考虑按照日期进行表分区减少查询扫描的数据总量。任务队列使用消息队列将导出任务拆分提高任务吞吐量以及并行处理性能也能在出现异常时进行重试。进度追踪建立任务状态表记录每个导出批次的完成情况。对于常态化且数据量这么大的任务需要实时监控任务执行情况在出现任务能够第一时间介入处理。当然如果有条件可以引入任务调度系统进行处理。2. 流式处理主要思想是边读边写流式写入采用流式写入文件如Java的StreamingOutput增量写入边查询边写入减少内存占用3. 服务端文件处理主要分片写文件分片存储将导出文件按批次生成多个文件。因为这么大数据量可能文件大小在几个G以上如果同时写一个大文件基本上会有性能问题。是否考虑压缩后台压缩为ZIP文件减小体积这个可以适当考虑主要是考虑文件下载的性能。4. 技术选型优化轻量级导出格式尽量考虑使用文本文件减少内存占用专用ETL工具数量特别大或者导出涉及复杂业务处理可以考虑。如果简单导出则不必要。数据库优化添加适当索引优化导出SQL避免全表扫描 。5. 基础架构提升独立导出服务将导出功能独立部署不影响主业务同时考虑能够扩展和扩容。以免后期业务量加大性能优化更加方便。读写分离如果是主从架构的建议从从库读取导出数据不影响主库性能