多对多映射表

  • 该表缺乏 AUTO_INCREMENT id - 给出的 PK 是’自然’PK; 代理人没有充分的理由。
  • MEDIUMINT - 这是一个提醒,所有 INTs 应该做得尽可能小(更小⇒更快)。当然,此处的声明必须与链接到的表中的定义相匹配。
  • UNSIGNED - 几乎所有的 INT 都可能被声明为非负的
  • NOT NULL - 嗯,这是真的,不是吗?
  • InnoDB - 比 MyISAM 更有效,因为 PRIMARY KEY 与 InnoDB 中的数据聚集在一起。
  • INDEX(y_id, x_id) - PRIMARY KEY 使得向一个方向高效; 使另一方向有效。没必要说 UNIQUE; 这将是 INSERTs 的额外努力。
  • 在二级索引中,只说 INDEX(y_id) 会起作用,因为它会隐含包含 x_id。但我宁愿让我更明显地希望有一个覆盖指数。

可能希望向表中添加更多列; 这很少见。额外的列可以提供有关表所代表的关系的信息。

可能想要添加 FOREIGN KEY 约束。