我要优化我的php web应用程序的数据访问层。目前,我的php Web应用程序对数据库进行了大量查询(有些可能是多余的)。我想通过编写一些返回更大和更通用数据集的更复杂的查询来减少对数据库的查询数量。然后我想将这些结果存储在$ GLOBALS变量中。
然后我可以访问我的Web应用程序中的其他数据,如下所示:
$GLOBALS['dbResults1'] = $dbObject->get();
$result = new ResultWrapper($GLOBALS['dbResults1']);
$array_eligible_athletes = $result->Select(' age > 20 ');
$array_obese = $result->Select(' bmi > 100 ')->orderBy('lastname,firstname desc');
etc...
与我目前的方式相反:
// each of these makes a trip to the database
$array_eligible_athletes = $dbObject->getWhere('age > 20');
$array_obese = $dbObject->getWhere('bmi > 100')->orderBy('lastname,firstname desc');
etc...
所以我的问题是:
1)我的新方法是个好主意吗?我的新方法有可能改善我的Web应用程序的性能?
2)如果1)是一个好主意,那里有哪些图书馆可以做我想要的吗? IE浏览器。查询和管理数据集的更好方法。
我非常喜欢.Net框架中的DataTable.Select()功能,并希望在PHP开发中有类似的东西。如果一个不存在,任何帮助我减少对db的调用的解决方案都会很棒。