0

如果我在两个表之间有这样的关系:

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. 只需查询子表并返回所有匹配父行的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 回答