RubyとDatamapperを使用して大量のレコードをMySQLデータベースにロードしています。これらのレコードはほとんどが挿入物ですが、かなりの数の更新があります。基本的に、データベース内のこれらのレコードのすべての列を「アップサート」したいと思います。私が見つけることができる唯一のオプションは次のとおりです。
1)レコードを照会します。存在する場合は、更新します。そうでない場合は、レコードを作成します。(常に1つの追加クエリ)2)新しいレコードを作成してみてください。重複するキーエラーをキャッチします。既存のレコードを照会します。それらのレコードを更新します。(更新がある場合、2つの追加クエリ)
On Duplicate Key Update
MySQLの方がはるかに効率的だと思われるので、利用したいと思います。Datamapperでこれを行う方法はありますか?他に何か提案はありますか?