MySQL发现一个父母的许多孩子

时间:2013-01-02 00:39:01

标签: mysql one-to-many

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

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. 在父表
  3. 的列中存储以逗号分隔的ID列表
  4. 以上都不是

1 个答案:

答案 0 :(得分:0)

外键自然是索引的,因此最好的方法是执行此查询:

SELECT * FROM child WHERE parent_id=X;
-- where X is the parent's ID