2011-05-12 68 views
0

我將優化我的php web應用程序的數據訪問層。目前,我的php web應用程序向數據庫提出了很多查詢(有些可能是冗餘的)。我想通過只寫幾個更復雜的查詢來減少查詢數據庫的數量,這些查詢返回更大和更通用的數據集。然後我想將這些結果存儲在$ GLOBALS變量中。.NET的DataTable.Select(表達式)的PHP等價物?

然後我可以在其他地方訪問數據在我的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的調用的任何解決方案都會很棒。

回答

0
  1. 取決於。總是。簡介。
  2. 您可以嘗試類似array_filter的內容替換DataTable.Select以獲取內置解決方案。