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

どちらが速いですか:複数の単一のINSERTまたは1つの複数行のINSERT?

    https://dev.mysql.com/doc/refman /8.0/en/insert-optimization.html

    行の挿入に必要な時間は、次の要因によって決まります。数字はおおよその比率を示しています。

    • 接続:(3)
    • サーバーへのクエリの送信:(2)
    • 解析クエリ:(2)
    • 行の挿入:(1×行のサイズ)
    • インデックスの挿入:(1×インデックスの数)
    • 締めくくり:(1)

    このことから、1つの大きなステートメントを送信すると、挿入ステートメントごとに7のオーバーヘッドが節約されることは明らかです。これをさらに読むと、次のようにもなります。

    同じクライアントから同時に多くの行を挿入する場合は、複数のVALUESリストを含むINSERTステートメントを使用して、一度に複数の行を挿入します。これは、個別の単一行のINSERTステートメントを使用するよりもかなり高速です(場合によっては何倍も高速です)。



    1. SQLクエリの結果をPANDASデータ構造に変換する方法は?

    2. Oracleスキーマユーザーはプロシージャでテーブルを作成できません

    3. SQLServerで日付を別のタイムゾーンに変換する

    4. 数十億行に最適なデータストア