2011-03-04 45 views
0

我正在构建一个商业智能web应用程序在php 5中显示从高度规范化的数据库(在MySQL中超过60个表)检索到的信息。商业智能网络应用程序的存储过程和/或ORM

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

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

对于更多BI(使用子查询进行聚合,加入5个表)或面向搜索的查询,我发现更难以看到如何替换动态创建的SQL。例如,我们在Web应用程序中具有许多标准的搜索功能。根据选择的标准,php代码添加或删除表以加入,子查询并更改'where'子句。

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

这个问题是涉及到:stored-procedures-or-or-mappers

回答

0

瓶颈肯定是正规化的水平 - 如果选项是提供给您,采取更星型模式风格DWH将大大提高性能,因为它预先准备供BI应用程序使用的数据。