database - 应对模式演变的策略?

标签 database continuous-integration agile

<分区>

目前,我们在数据访问对象和大量存储过程和触发器中使用手动 SQL,总计约 20,000 行代码。我们发现,简单的更改会导致需要几天的时间才能解决问题,并导致截止日期推迟。

更改包括修改表以处理额外数据、根据 QA/用户报告对架构进行一般重构等。它是一个非常活跃的系统,正在构建以取代旧的和缓慢的东西。

我们查看了可用的 PHP ORM 解决方案来尝试限制这些更改的影响,但它们太慢而无法处理我们的架构; “简单”的 sql 结果返回时间比我们的自定义查询长几个数量级,导致 ~.5s 的页面浏览量超过 20s。

在一般情况下,我可以研究哪些最佳实践/策略来应对关系数据库的模式演变?

编辑:忘记提及触发器;我们有很多数据依赖于级联变化,例如。此用户此处的价格变化会更新那里那个用户的价格,等等。

最佳答案

您可能想在 Refactoring Databases: Evolutionary Database Design 上查看这本书.

关于database - 应对模式演变的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/304834/

相关文章:

mysql - 检查表中相同列值对的 sql 查询是什么?

database - 基于Web的Microsoft Access?

sql - 查询以检索值为空或仅为数字的行

agile - : writing the code right, 和编写正确的代码哪个更重要?

java - RallyRestAPI 查询 ScopedAttributeDefinition 类型

database - 使用除 SQL Server 之外的排序规则冲突

c# - xUnit.net 我如何指定超时测试最多需要多长时间

database - 使用用户生成的内容自动部署数据库(类似于 CMS)

continuous-integration - 持续集成——需要吗?

eclipse - Eclipse 中的协作编程