Здравствуйте. Насколько верный подход отходить от взаимодействия с model и переходит на ручное формирование запросов. У меня передаются большие массивы данных, но Active Record вставляет только по одной записи и при этом постоянно при каждой вставке идет запрос на все подчиненные таблицы, поэтому место одной вставки может идти 5 Select на подчиненные таблицы и сама вставка. При больше 5000 записей уже ощутимое время задержки. Потихоньку все на ручную вставку напрямую. Насколько все это верно, и какие проблемы кроме ссылочной целостности я могу отгрести. Спасибо.
ts_data.each { | ts |
sql_values += ",(#{ id }," +
"#{ children_groups[ ts[ :children_group_code ] ] }," +
"#{ children[ ts[ :child_code ] ] }," +
"#{ reasons_absences[ ts[ :reasons_absence_code ] ] }," +
"'#{ ts[ :date ] }'," +
"'#{ now }','#{ now }')"
}
sql = "INSERT INTO timesheet_dates ( #{ fields } ) VALUES #{ sql_values[1..-1] }"
ActiveRecord::Base.connection.execute( sql )
end