多对多映射表
- 该表缺乏
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
约束。