こんにちは、データ事業部でインターンをしている菅野です。 先日、1000万件のデータをPostgreSQL DBにインサートしようとして150分かかりました。データ分析でよく使うPostgreSQLもデータ挿入にけっこう時間がかかるなあ。大変だなあと思っていました。 ところが、方法を変えたら7分しかかからず、20倍くらい差が出るのを知らないと時間を無駄にしちゃう。。。ということで記事を書いてシェアしたいと思います。 結論から言うと、一行ずつインサートするとめっちゃ遅くCOPYコマンドを使うとめっちゃ早くなりました。 計測方法計測用データ件数は10万件、100万件、1000万件の3種です。計測用のファイルから、一度に挿入する行数(100件、1000件、1万件、10万件の4種ごとに実行)を一時ファイルに保存、読み出し、インサートします(文末備考参照)。 上記処理をループさせ、Pythonのps