我不得不说,适当的关系将比省略它们更好地帮助人们理解数据(或数据的意图),特别是因为维护它们的总成本非常低。
它们的存在不会影响性能,除非是在体系结构方面(正如其他人指出的那样,数据完整性有时会导致外键冲突,这可能会产生某些影响),但是IMHO的许多好处(如果正确使用,则不胜枚举)。
我知道您不是在问是否使用FK,但是我想我只是添加一些关于为什么使用FK的观点(并且必须处理后果):
也有其他注意事项,例如,如果您打算使用ORM(也许稍后再使用),则将需要外键。它们对于ETL /数据导入和导出以及以后的报表和数据仓库也非常有用。
如果其他应用程序将使用该模式,也将很有帮助-
因为外键实现了基本的业务逻辑。因此,您的应用程序(和任何其他应用程序)仅需要了解这些关系(并尊重它们)。它可以使数据保持一致,并且很可能减少任何使用中的应用程序中的数据错误数量。
最后,它为您提供了有关将索引放置在何处的相当不错的提示-因为您可能会通过FK值查找表数据。



