1

約10%の複製データを含む大量の生データ(約3億行)のコレクションがあります。データをデータベースに取り込む必要があります。パフォーマンスのために、SQLコピーを使用しようとしています。問題は、データをコミットするときに、主キーの例外によってデータが処理されないことです。競合するデータが単に無視されるか、置き換えられるように、主キーの動作を変更できますか?どちらの方法も気にしません。必要なのは、各データの一意のコピーを1つだけです。

4

3 に答える 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 に答える