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