約10%の複製データを含む大量の生データ(約3億行)のコレクションがあります。データをデータベースに取り込む必要があります。パフォーマンスのために、SQLコピーを使用しようとしています。問題は、データをコミットするときに、主キーの例外によってデータが処理されないことです。競合するデータが単に無視されるか、置き換えられるように、主キーの動作を変更できますか?どちらの方法も気にしません。必要なのは、各データの一意のコピーを1つだけです。
Russell
質問する
473 次
3 に答える
2
最善の策は、制約を削除し、データをロードしてから、クリーンアップして制約を再適用することだと思います。
于 2008-10-19T18:39:03.323 に答える
0
Use a select statement to select exactly the data you want to insert, without the duplicates.
Use that as a basis of a CREATE TABLE XYZ AS SELECT * FROM (query-just-non-dupes)
You might check out ASKTOM ideas on how to select the non-duplicate rows
于 2008-10-19T23:17:27.440 に答える
0
それは私が考えていたことですが、3億エントリのデータベースでランダムに配置された3000万行を取り除くパフォーマンスが心配でした. 重複データには空間的な関係もあるため、データをすべて読み込んだ後ではなく、データを読み込んでいる間に問題を修正したかったのです。
于 2008-10-19T18:54:38.673 に答える