Я создал Zend_Paginator на основе AJAX, однако я не хочу извлекать все записи из запроса. Например; У меня есть десять элементов на странице, поэтому я хочу, чтобы мой запрос извлекал только 10 строк.Как улучшить производительность zend paginator pagination
Вот код: -
$request = $this->getRequest();
$phone_service_id = $request->getParam("id");
$registry = Zend_Registry::getInstance();
$DB = $registry['DB'];
$sql ="SELECT caller_name,call_number,call_start_time,call_duration,call_direction
FROM CALL_LOG
WHERE phone_service_id = $phone_service_id";
$result = $DB->fetchAll($sql);
$page=$this->_getParam('page',1);
$paginator = Zend_Paginator::factory($result);
$paginator->setItemCountPerPage(10);
$paginator->setCurrentPageNumber($page);
$this->view->paginator=$paginator;
$page = $paginator->getCurrentPageNumber();
$perPage = $paginator->getItemCountPerPage();
$total = $paginator->getTotalItemCount();
$A = ($page - 1) * $perPage + 1;
$B = min($A + $perPage - 1, $total);
$C = $total;
$this->view->assign('url', $request->getBaseURL());
$this->view->assign('total',$total);
$this->view->assign('page',$page);
$this->view->assign('A',$A);
$this->view->assign('B',$B);
$this->view->assign('C',$C);
Как я могу ограничить мой вопрос, так что извлечь сначала 10 строк на первой странице, и если его второй странице, так это только извлечь из 11 до 20 строк и так на?
работает отлично, но может у PLZ сказать мне, как я могу убедиться, что он действительно делает то, что я хочу .means сказать querring только specfic 10 строк –
вы можете проверить свои файлы журнала mysql, чтобы точно увидеть, какой запрос выполняется при просмотре стр. Также я уверен, что для этого можно использовать профилировщик zend db. – Optimus