qiita.com そもそも fetchall があればパフォーマンスが上がるわけでは無いので。https://t.co/O4u3zZcnYx これを16KiBにしたらパフォーマンス上がるはず。— Inada Naoki (@methane) December 17, 2020 go-sql-driver/mysql のバッファサイズは4KiBで、大きいクエリを送るなり大きいパケットを受信すれば自動的に増えますが、小さいrowを大量に受信する場合は4KiBのバッファを使って何度もReadをしてしまいます。これを大きくすればReadの回数が減って高速化できそうな気がします。 ということで、話題のリポジトリをforkして、DBからselectしてCSVを書き出す部分だけを100回ループしてみました。CSVの書き出しがネックにならないようにbufio.NewWriterSize()を使ってバッフ