【发布时间】:2014-09-02 11:06:36
【问题描述】:
与使用外键和参照完整性约束的 DDL 相比,使用查询 (JOINS) 在 MySQL 数据库中创建表关系的优缺点是什么?我收到了一个在其表上没有关系(无 FK)的数据库,以识别表之间的关系。查询数据时,将在 JOINS 上创建关系。
【问题讨论】:
标签: mysql sql foreign-keys referential-integrity
与使用外键和参照完整性约束的 DDL 相比,使用查询 (JOINS) 在 MySQL 数据库中创建表关系的优缺点是什么?我收到了一个在其表上没有关系(无 FK)的数据库,以识别表之间的关系。查询数据时,将在 JOINS 上创建关系。
【问题讨论】:
标签: mysql sql foreign-keys referential-integrity
使用外键的主要原因是数据库中的数据总是一致的。这与连接“独立” - 当您使用外键时,您仍然需要使用连接。
在 MySQL 中它还有一个很好的副作用:如果使用外键,则必须定义索引,这可能会加快查询速度。
但是使用外键,您可以确保您所引用的行必须存在于数据库中。见https://en.wikipedia.org/wiki/Foreign_key。
【讨论】: