性能优化:大表数据导出

最近项目中有一个需求:根据查询条件导出(mysql)单表数据(几千万条数据量级的导出)。而查询条件各种各样,无法在表上对所有的查询项创建索引。

项目开发人员在我的指导下,经过多次测试,最终得到一个相对最优的一个解决方案。

第一次的写法:使用select * from table where 的方式导出符合条件的所有数据。

第二次的写法:增加分页查询,但是查询出来的数据全部存入list里面。

第三次的写法:分页查询,但是直接写入execl,不存入list。

第四次的写法:分页查询,查询需要导出的字段。

第五次的写法:循环查询并传入上一次最大记录的ID值。(ID列主键自增列)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,797评论 0 44
  • 特别说明: 1、本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识...
    安易学车阅读 1,860评论 0 40
  • 转载自:https://www.cnblogs.com/easypass/archive/2010/12/08/1...
    SkTj阅读 554评论 0 1
  • 公元2017916能量世界54天 1我怎么如此幸运做到月亮日第13天,感觉到身体是轻松,轻盈,轻快的,身体的胃开始...
    史德波阅读 103评论 0 0
  • 最后过项目材料 发现一些问题 完善后 今晚送去装订了 睡觉越来越早 也越来越轻松
    爱之旅心理孙建芳阅读 90评论 0 1