sql >> データベース >  >> RDS >> PostgreSQL

INSERTとCOPYの違い

    実際にはかなりの数の理由がありますが、主な理由は次のとおりです。

    • 通常、クライアントアプリケーションは1つの INSERTの確認を待ちます 次を送信する前にの成功。したがって、 INSERTごとにラウンドトリップ遅延があります 、スケジューリング遅延など(PgJDBCはパイプライン INSERTをサポートします はバッチで実行されますが、他のクライアントが実行していることはわかりません。

    • INSERT エグゼキュータ全体を通過する必要があります。プリペアドステートメントを使用すると、パーサー、リライター、プランナーを実行する必要がなくなりますが、行ごとにセットアップおよび破棄するエグゼキューター状態がまだあります。 コピー 一度セットアップを行い、非常に 特にトリガーが関与しない場合、各行のオーバーヘッドが低くなります。

    最初のポイントは最も重要です。それはすべて、ネットワークのラウンドトリップと再スケジュールの遅延に関するものです。



    1. クエリの結果をランダムに並べ替えて、ランダムな行を選択する方法。 (MySQL)

    2. PythonでデータベースからCSVファイルを作成するにはどうすればよいですか?

    3. 一時テーブルにデータを入力するための効率的なアプローチ

    4. 複合PRIMARYKEYは、関連する列にNOTNULL制約を適用します