Php 在while循环中使用fullzend查询。在循环中,我执行fullquery并将它们合并到一个数组中

Php 在while循环中使用fullzend查询。在循环中,我执行fullquery并将它们合并到一个数组中,php,zend-framework,open-source,Php,Zend Framework,Open Source,优化zend查询需要花费太多的时间来执行。在while循环中使用fullzend查询。在循环中,我执行fullquery并将它们合并到一个数组中。。目前,我有一个带有结果的数组,但执行时间太长。。下面就是确切的例子 while($str){ $db = Zend_Registry::get('dbadapter'); $select = new Zend_Db_Select($db); $select = $db->select(); // my

优化zend查询需要花费太多的时间来执行。在while循环中使用fullzend查询。在循环中,我执行fullquery并将它们合并到一个数组中。。目前,我有一个带有结果的数组,但执行时间太长。。下面就是确切的例子

while($str){
    $db = Zend_Registry::get('dbadapter');
    $select = new Zend_Db_Select($db);    
    $select = $db->select();

    // my business logic omitted 

    $stmt = $select->query();
    $result = $stmt->fetchAll();

    // after execution merge the record in new array ( $final_result )
    $temp_arr =  $result;
    $final_result = array_merge($final_result,$temp_arr);
    unset($temp_arr);
}

您不必在循环内编写以下代码,而是在循环外编写它们

$db = Zend_Registry::get('dbadapter');
$select = new Zend_Db_Select($db);  
$select = $db->select();
$stmt = $select->query();
然后在循环内编写以下代码:

$result = $stmt->fetchAll();

$final_result[] = $result;

unset($result);

此代码可能会帮助您……

您不必在循环内编写以下代码,而是在循环外编写它们

$db = Zend_Registry::get('dbadapter');
$select = new Zend_Db_Select($db);  
$select = $db->select();
$stmt = $select->query();
然后在循环内编写以下代码:

$result = $stmt->fetchAll();

$final_result[] = $result;

unset($result);

这段代码可能会帮助您……

顺便问一下,$str是什么…???您说过运行查询需要很长时间,但您忽略了正在执行的实际查询。您可以编辑您正在使用的真实代码吗?毫不奇怪,以循环中的查询为特征的代码段需要很长时间才能执行。顺便问一下,$str是什么…???您说过运行查询需要很长时间,但您忽略了正在执行的实际查询。你能编辑你正在使用的真实代码吗?毫不奇怪,以循环中的查询为特征的代码段需要很长时间才能执行。如果我没有错,“$select=new Zend_Db_select($Db)”和“$select=$Db->select();”也在做同样的事情。如果我没有错,“$select=new Zend_Db_select($Db)”和“$select=$db->select();“我们在做同样的事情。