Вы можете сделать это быстрый путь или путь Rails;) лучший способ в моем опыте импортировать массивные данные в Postgres через CSV. Что займет несколько минут, путь Rails займет несколько секунд, используя встроенную функцию импорта CSV Postgres.
http://www.postgresql.org/docs/9.2/static/sql-copy.html
Он даже запускает триггеры базы данных и уважает ограничения базы данных.
Редактировать (после вашего комментария): Gotcha. В этом случае вы правильно описали свои два варианта. Раньше я был в той же ситуации, реализовал его, используя Rails 1000 save! потому что это была простейшая вещь, которая работала, а затем оптимизировала ее для стратегии «добавить огромную строку запроса», поскольку она была на порядок лучше.
Конечно, преждевременная оптимизация - это корень всего зла, поэтому, возможно, это простой медленный путь Rails и знаю, что построение большой строки запроса является совершенно законным методом оптимизации за счет поддержания работоспособности. Я чувствую, что ваш реальный вопрос: «Есть ли способ Railsy, который не включает 1000 запросов?» - К сожалению, ответ на этот вопрос - нет.
Смотрите также: [Как реализовать массовую вставку в Rails 3] (http://stackoverflow.com/questions/8505263/how-to-implement-bulk-insert-in-rails-3) и [Массовая вставка записей в таблицу Active Record] (http://stackoverflow.com/questions/ 15317837/объемной вставка-запись-в-активная запись стол). – 2014-04-13 05:06:17