有效地将大型mysql2结果写入CSV
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了有效地将大型mysql2结果写入CSV,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含657字,纯文字阅读大概需要1分钟。
内容图文
我们正在构建一个我们刚刚构建的CMS中的CSV导出机制,但是我们无法在具有数百万行的结果集上保留内存.将MySQL(通过mysql2 gem)的1MM行结果写入CSV的最佳方法是什么.如果它有任何区别,我们使用的是Ruby 1.9.3p194和MySQL 5.5.我们的主要目标是在Ruby进程上保持内存消耗.
解决方法:
默认情况下,mysql2缓存它为其结果集创建的ruby对象.如果你关闭它,那么应该大大减少内存消耗.例如你可能会这样做
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "someuser")
client.query 'use some_db'
CSV.open('output.csv', 'w') do |csv|
results = client.query("SELECT * FROM big_table")
results.each(:cache_rows => false) do |row|
csv << [row['column_a'], row['column_b']]
end
end
内容总结
以上是互联网集市为您收集整理的有效地将大型mysql2结果写入CSV全部内容,希望文章能够帮你解决有效地将大型mysql2结果写入CSV所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。