好日子所有,驗證遺留表的ActiveRecord
我們正在從一個系統做數據遷移到Rails應用程序。我們正在使用的一些表格非常大,並且使用ActiveRecord一次將它們移動超過1條記錄需要很長時間。因此,我們採取了在SQL中複製表並在事後進行驗證。
的一個接一個的驗證檢查仍然很慢,但是從SQL的速度增加複製多彌補了它。但是,這並沒有解決我們是否能夠更快地進行驗證檢查的渴望。我們試圖將表拆分成塊,並將每個塊傳遞給一個線程,但實際上執行速度較慢。
的問題是,大桌子,當前迭代一行一行地做驗證,像這樣
Model.find_each do |m|
logger.info "M #{m.id} is not valid" unless m.valid?
end
人對如何加快這什麼建議?
感謝
同行
編輯我應該說,沒有具體的代碼。我們每個進程尋找對我們如何才能同時運行這個建議,給每個進程的數據塊,而不需要一臺機器
好點,我一直不願意嘗試和SQL複製驗證,但你可能是正確的,因爲它會提供最佳性能 – 2009-10-01 13:11:43