【发布时间】:2012-02-07 19:08:10
【问题描述】:
我目前正在开发一个 Zend Framework 项目,使用 Doctrine 作为 ORM。
我遇到了典型的情况,您必须在表格中显示项目列表(大约 400 个),当然,我不想一次显示所有项目。 我之前已经用过Zend_Paginator(只是一些基本用法),但我总是从数据库中获取所有项目,然后对它们进行分页,但现在感觉不太对了。
我的问题是:是先从数据库中获取所有项目,然后将它们“分页”,还是按原样获取项目的“页面”?要求?哪个对性能的影响更大?
【问题讨论】:
-
编辑:获取所有项目将对性能产生最大的影响,但多少显然取决于项目的数量。我在使用 limit 并且仍然需要总计数时找到的最简单的解决方案是 SELECT SQL_CALC_FOUND_ROWS [columns] FROM [table] 然后 SELECT FOUND_ROWS() as rows 之后获得没有限制的“实际计数”。
-
感谢@Mick,但这并不能真正回答我关于哪个更好的问题
标签: php zend-framework pagination doctrine-orm