【发布时间】:2019-02-25 14:32:29
【问题描述】:
我想提出一个值得商榷的问题。
我有一个包含 1000 行数据的表。我希望能够在前端搜索引擎中搜索和查看所有这些行。
我想每页显示 50 个结果。
问题是 - 我应该通过我的存储库简单地返回所有过滤结果(可能 1000 行数据)并让我的流体引导布局处理分页,还是应该告诉我的存储库使用 setLimit 和 offset 只返回 50 行应该在当前页面中显示的数据?
最初我认为无论哪种方式都会在每次页面调用时请求 SQL 语句,因此后者会更好,因为 SQL 返回的数据上限为 50 行,但现在我怀疑 Typo3 使用某种存储库或数据库缓存,这意味着数据库批量数据只被调用一次并存储在内存中,其余的将由流体分页处理。另外,使用 setLimit 和 Offset 我必须构建自己的分页系统。
你认为什么更有效?我应该允许 sql 语句返回所有数据并流畅地处理分页,还是应该首先使用 setLimit 限制 sql 语句并构建自己的分页?或者有没有办法将两者混合?
附加信息:
我的存储库 SQL 搜索相当简单。它正在使用:
$query = $this->createQuery();
...加上一个“匹配”查询来过滤结果,最后是
return $query->execute();
【问题讨论】:
标签: typo3 repository-pattern fluid-layout typo3-extensions