0

次のような 2 つのテーブル間に関係がある場合:

CREATE TABLE parent (id INT NOT NULL,
    PRIMARY KEY (id)
);

CREATE TABLE child (id INT NOT NULL, parent_id INT,
    PRIMARY KEY (id),
    FOREIGN KEY (parent_id) REFERENCES parent(id)
);

そして、親テーブルの1行を参照している子テーブルのすべての行を見つけたいのですが、次のほうが高速ですか?

  1. 子テーブルをクエリして、親行の ID に一致するすべてを返すだけです。
  2. 親テーブルの列に ID のコンマ区切りリストを格納します
  3. 上記のどれでもない
4

1 に答える 1

0

外部キーは自然にインデックス付けされるため、次のクエリを実行するのが最善の方法です。

SELECT * FROM child WHERE parent_id=X;
-- where X is the parent's ID
于 2013-01-03T11:24:13.373 に答える