当我从数据库中抓取时,如果我有一个大约 1k 标记的结果集,我就想到了一些事情。
如果我使用 Doctrine(v1.2)_Pager 每页限制为 25 个。它是否将从数据库中提取的数据量减少到仅 25 个。或者它仍然抓取整个数据集然后减少它?
实现如下:
$perPage = 25;
$numPageLinks = 25;
$pager = new Doctrine_Pager($q, $input->page, $perPage);
$result = $pager->execute(array(), Doctrine::HYDRATE_ARRAY);
$pagerRange = new Doctrine_Pager_Range_Sliding(
array('chunk' => $numPageLinks), $pager
);
$pagerUrlBase = '...';
$pagerLayout = new Doctrine_Pager_Layout(
$pager, $pagerRange, $pagerUrlBase);
$pagerLayout->setTemplate('...');
$pagerLayout->setSelectedTemplate(
'...'
);
$pagerLayout->setSeparatorTemplate('...');
$this->view->records = $result;