検索

ホームページ  >  に質問  >  本文

mysql - 数据库批量插入数据的速度是否与索引有关?

在数据库批量插入数据时,插入数据的速度是否与创建的索引有关?
如果有关请给出指相关文档,谢谢!

伊谢尔伦伊谢尔伦2780日前625

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:14:56

    もちろん影響はあり、データを挿入するときに単純な更新が発生します。文字列の数が多いほど、挿入は遅くなります。ドキュメントの説明を参照してください
    クエリで使用されるすべての列に対してインデックスを作成したくなるかもしれませんが、unnecessary indexes waste space and waste time for MySQL to determine which indexes to use. Indexes also add to the cost of inserts, updates, and deletes because each index must be updated 最適なインデックスのセットを使用して高速なクエリを実現するには、適切なバランスを見つける必要があります。

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 16:14:56

    インデックスはデータのバッチ挿入に大きな影響を与えます。その理由は非常に単純ですが、一意のインデックスの場合は同時にインデックスを書き込む必要があります。データが重複していないか確認する必要があります。

    大規模なデータ インポートのバッチの場合、通常は最初にインデックスが削除され、データ インポートの完了後にインデックスが再構築されます。

    返事
    0
  • キャンセル返事