您不使用外键的原因?[php + MySQL]

Gaz*_*ion 9 php mysql foreign-keys

我正在研究我公司用于创建调查的旧Web应用程序.我通过mysql命令提示符查看了数据库模式,并认为这些表看起来非常可靠.虽然我不是数据库专家,但我非常精通其背后的理论(在我的软件工程专业中学习了一些数据库设计课程).

话虽这么说,我将create语句转储到一个SQL文件中并将它们导入MySQL Workbench,看到它们没有使用任何"实际"外键.它们将像使用FK一样存储另一个表的主键,但它们不会将其声明为一个.

因此,看看他们的DB是如何设计的,就像我通过我所知道的那样(减去FK问题),我想知道可能背后的原因.这是懒惰编程的情况还是通过编程方式执行所有错误检查可以获得一些性能提升?

如果您想要一个例子,他们基本上有调查,调查有一系列问题.一个问题是调查的一部分,所以它在一个专栏中保留了它的PK.这几乎是它,但他们到处使用它.

我很感激任何见解:)(我知道这个问题可能没有正确/错误的答案,但我正在寻找更多关于为什么他们会这样做的信息,因为自从我们开始使用它以来这个系统一直很稳固所以我被引导相信这些家伙知道他们在做什么

Dan*_*llo 12

原始开发人员可能选择使用MyISAM或任何其他不支持外键约束的存储引擎.