Stored procedures BI web应用程序的存储过程和/或ORM

Stored procedures BI web应用程序的存储过程和/或ORM,stored-procedures,orm,business-intelligence,Stored Procedures,Orm,Business Intelligence,我正在用PHP5构建一个商业智能web应用程序,它显示从高度规范化的数据仓库(mysql中有60多个表)检索到的信息 我们使用MODx作为CMF来组织代码。到目前为止,代码主要是procedura,每个页面基本上由php代码(MODx术语中的代码片段)中的一组sql查询和以表格和图形方式显示信息的代码组成 我们正在为我们的主要组件创建对象,并将sql查询放在那里,然后使用PDO。当查询映射到域的真实对象时,这很容易做到 对于更多BI(子查询聚合、5+表上的联接)或面向搜索的查询,我发现更难看到如

我正在用PHP5构建一个商业智能web应用程序,它显示从高度规范化的数据仓库(mysql中有60多个表)检索到的信息

我们使用MODx作为CMF来组织代码。到目前为止,代码主要是procedura,每个页面基本上由php代码(MODx术语中的代码片段)中的一组sql查询和以表格和图形方式显示信息的代码组成

我们正在为我们的主要组件创建对象,并将sql查询放在那里,然后使用PDO。当查询映射到域的真实对象时,这很容易做到

对于更多BI(子查询聚合、5+表上的联接)或面向搜索的查询,我发现更难看到如何替换动态创建的sql。例如,我们在web应用程序中有一个搜索功能,其中包含许多条件。根据选择的条件,php代码添加或删除要联接的表、子查询和更改“where”子句

您认为ORM或存储过程是否可以在这种情况下提高代码的性能/质量? 我们的模型(60多个高度规范化的表)是否过于复杂,无法直接从web应用程序访问,并且一种数据集市(基本上是数据的非规范化视图)会比ORM带来更多好处


这个问题与:

瓶颈肯定是规范化级别-如果您可以选择,采用更星型架构样式的DWH将大大提高性能,因为它预先准备好数据供BI应用程序使用