背景 RailsでCSVを返す時、10万データくらいのものを普通に処理するとメモリを食い潰したり、処理が遅かったりする。 そこで解決策を探していたら、RustでRailsの代わりにCSVを作るという素晴らしい記事に出会った。 この記事はPostgresやNginxを使ってたが、私はMySQLを使っており、Railsのアプリケーション内で完結したかったので、参考にしながら試験的に作って見た。 お断り Railsをすでに理解していることを前提に進めます。 初心者の方へ環境構築周りを最後の方におまけとして書いておきますので参考にしてください。 筆者はRust初心者ですのでアドバイスを頂けるととても助かります。 環境 Ruby 2.3.3 Rust 1.14.0 Rails 5.0.1 Gemfileは基本デフォルト source 'https://rubygems.org' git_source