2017-01-15 4 views
0

大量のデータを挿入したいのですが、何を使用しますか:insert into文、または一括挿入を使用する必要がありますか?他に何かありますか?私が尋ねる理由は、私のCrateDBノードのディスクは平均で11kb/sでしかビジーではなく、ディスクの負荷は1回の挿入で100%になっています!一括挿入とCrateDBでのINSERT INTO IGNORE

さらに、INSERT INTO IGNOREがサポートされていますか? CrateDBでデータを一括して投げても、重複したエントリは無視されますか?

ありがとうございます!

答えて

0

あなたが正しく推測したように、一括挿入により、最高のパフォーマンスが得られます。しかし、その経験は様々であり、大部分は選択された「バルクサイズ」、すなわち一度に送信されるレコードの数に依存します。通常、1000レコードのバッチが非常にうまくいきますが、これはCrateDBが実行されているハードウェアに固有のものかもしれないので、ちょっと遊ぶことをお勧めします。

バルクインサートでは、そのテーブルにプライマリキーが定義されていると、重複した挿入が自動的にスキップされます。これは、しかし...

あなたが達成したい内容に応じて、あなたはinsert or update

を使用することを検討すべきである(不要な検索が/挿入に失敗した)パフォーマンスへの影響が伴います