目前,我们在数据访问对象和大量存储过程和触发器中使用手动 SQL,总计大约 20k 行代码。我们发现,简单的更改会导致几天的工作得以修复,并导致最后期限的推迟。
更改包括修改表以处理额外的数据、基于 QA/用户报告的架构的一般重构等。它是一个非常活跃的系统,正在构建以替换旧的和缓慢的东西。
我们查看了可用的 PHP ORM 解决方案来尝试限制这些更改的影响,但是它们太慢了,无法应对我们的模式;“简单” sql 结果的返回时间比我们的自定义查询要长几个数量级,并导致约 0.5 秒的页面浏览量超过 20 秒。
在一般情况下,我可以研究哪些最佳实践/策略来应对关系数据库的模式演变?
编辑:忘了提及触发器;我们有很多依赖于级联变化的数据,例如。此用户的价格更改会更新该用户的价格等。