外键实际上并没有提高性能,事实上它们会对所有写操作产生很小的性能损失,以确保遵循约束.
您想要使用它们的原因是为了防止破坏性写入操作.如果您没有它们,错误代码或错误的SQL语句可以删除预期存在的行.
外键实际上并没有提高性能,事实上它们会对所有写操作产生很小的性能损失,以确保遵循约束.
您想要使用它们的原因是为了防止破坏性写入操作.如果您没有它们,错误代码或错误的SQL语句可以删除预期存在的行.
完整性今天可能不是问题,但这是明天或两周后成为问题的确切态度.
外键主要是用于强制执行数据库完整性的工具,这与执行速度无关.
如果您已经优化了索引设计,那么您可能已经安装了这些索引,至少作为非唯一索引.所以我不希望任何性能改变只是安装外键(这甚至不一定涉及索引.)
但是,如果你没有将这个概念钉住,我会对你对设计优化的自满情绪表示怀疑.
阅读外键的文档,目的是了解它们如何强制执行完整性(在任何情况下都值得了解.)然后看看它是否不能更完整地回答您的问题.