提升大型数据集的性能
如果您的数据库表包含数千条记录,SonataAdmin 生成的数据库查询可能会变得非常慢。这里有一些关于如何提升您的管理后台性能的技巧。
将默认分页器更改为 SimplePager
默认的 Pager
会计算表中的所有行,以便用户可以导航到数据网格中的任何页面。但是,计数成千上万或数百万条记录可能是一个缓慢的操作。如果您不需要知道所有记录的数量,可以使用 SimplePager
代替。它不会计算所有行,但只会告知用户是否有下一页。
要在您的管理后台中使用 SimplePager
,请在服务定义中定义 pager_type
1 2 3 4 5 6 7
# config/services.yaml
services:
app.admin.post:
class: App\Admin\PostAdmin
tags:
- { name: sonata.admin, model_class: App\Entity\Post, manager_type: orm, group: 'Content', label: 'Post', pager_type: 'simple' }
注意
如果 pager_results
模板尚未被重载,它将自动更改为 @SonataAdmin/Pager/simple_pager_results.html.twig
。
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议进行许可。