[英]Why Datatables is very slow with laravel?
我有一个与laravel合作的项目,其中他使用了“ yajra / laravel-datatables”,问题是,在获取服务器数据时非常慢。
该项目总共有11,000条记录,我用10中的10的数据表对它进行分页。要获得前10条,需要3秒钟以上。
我们还有另一个项目是用PHP和Datatables本机完成的,大约有50,000条记录,并且通过引入前10条记录以及相同的计算能力(花费100毫秒)可以立即工作。
我的基础设施位于Amazon Web Services中。
由于我们将数据传递到Datatables的方式,我怀疑它是从数据库中带走所有数据,并且仅将10条记录传递到接口。 但是,由于它获取了数据库中的所有记录,因此花费的时间更长。
$query = DB :: select( 'QUERY SQL' );
return DataTables :: of( $query ) -> toJson();
在工作台中运行查询大约需要200毫秒才能带出所有信息。
我不太确定如何从原始查询中创建整个Builder
实例,但是您绝对可以使用子查询来做:
$builder = DB::query()->fromSub(
DB::raw($theQueryString),
'wrapped_query'
);
return datatable($builder)->toJson();
这还有一个优点,即使使用联接的表,排序和搜索都可以完美地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.