0

私はこれを理解しようとしてきましたが、今のところ運がありません。

どちらが優れていますか: 複合 PRIMARY KEY または単一の PRIMARY KEY と UNIQUE インデックスを持つテーブル?

私のテーブルは次のようになります。

CREATE TABLE data (
  bucket_id INTEGER,
  backend_id INTEGER,
  unique_id INTEGER,
  weight INTEGER,
  PRIMARY KEY (bucket_id, unique_id)
) ENGINE=InnoDB

複数の挿入を行っています。次の形式で複数値の挿入に挿入される 60 億以上の行

INSERT IGNORE INTO data VALUES (x1, x2, x3, x4), (y1, y2, y3, y4), .......)

それぞれに 500000 行あります (クライアントによって制限されます)。これらはすべてアプリケーションの起動時に行われます。現在、これを可能な限り高速化する必要があります。(backend_id, unique_id) の一意性が必要です。私はこれらを制御していませんが、インポートされたデータには重複があります。

問題は、複合 PRIMARY KEY の代わりに UNIQUE インデックスを使用すると、挿入ステートメントの速度を上げるのに役立つでしょうか? バッファプールなど、他の多くの要因がこれに影響することを私は知っています。

4

1 に答える 1