を使用したカスタム クエリがいくつかありますLOAD DATA INFILE and INSERT INTO ... SELECT syntax
(もちろん、正当な理由があります)。
現在、これらを で実行していMyModelName.connection.execute
ます。ただし、追跡するために挿入の数を取得したいと思います。
を使用するMyModelName.connection.insert_sql
と、常に 0 が返されます。
INSERT IGNOREを使用するMyModelName.connection.update_sql
と、無視されていない行の数が返されます。これは初めて必要なものですが、変更されていないエントリがいくつかある更新では、少なすぎます。REPLACE の場合、これは 2 倍の数を返します (重複していない行の場合は 1 と数え、重複が存在する場合は削除の場合は 1、挿入部分の場合は 1 と数えます)。
インポート CSV の行数をカウントしたり、後で COUNT リクエストを実行したりすることは可能ですが、どちらも不必要な時間がかかるため、MySQL が使用できるものを返すことを願っています。