2016-09-07 63 views
0

假设我点击/demo url,然后它将转到控制器n从数据库表中取data1,数据库表中有400个数据,类似数据2,它有1200个数据。 结构这样工作首先它去控制器从数据库采取1200 + 400数据然后去查看这些400 + 1200数据n使用foreach它显示400在modal1 n 1200数据在modal2 ...它加载大数据,它的方式它加载缓慢.thats为什么我尝试分割数据。所以我用ajax为每个按钮调用,但ajax调用控制器在本地主机工作良好,但不能在真正的IP工作。 有没有更好的方法来减少加载时间?如何从数据库中获取大数据时减少laravel中的laravel加载时间?

我的结构 在控制器

$data1(here data is around 500) 
$data2 (here data is around 1200) 
return view(viewname’,compact('data1','data2')); 

鉴于

在modal1

@foreach($data1 as $v) 
{{$v->name}} 
@endforeach 

在modal2

@foreach($data1 as $v) 
{{$v->name}} 
@endforeach 

这里当我点击按钮,它会打开,当我点击它打开modal2.i使用数据表中的情态另一个按钮modal1..n。(有搜索,分页)

+0

分页通常是减少大量的数据,以更易于管理的大小,但500或1200行的方式真的是没有“大数据”。 –

+0

可能是其不大的数据..........但它的加载速度很慢......这对用户来说是非常不够的效率等到加载 – Borna

+0

你应该在时间的量度上“慢慢”--10秒, 100毫秒?我的观点是,它不会缓慢加载。确保您的数据正确编入索引,在必要位置启用某些日志记录,使用'EXPLAIN' mysql函数(或DBMS中存在的任何等效项)并找出影响速度的因素。顺便说一下,你有没有机会使用“共享文件夹”功能的Vagrant?这往往会对性能产生很大的影响,例如,活动服务器上的事情发生得比在Vagrant框中快得多。 –

回答

0

当我们使用Datatable时,首先加载所有数据,然后用分页显示。如果您有大量数据,这可能需要很长时间。当你使用分页时,如果只显示根据分页的数据,那么它将节省你的加载时间。

您可以使用此包来解决这个问题: https://github.com/yajra/laravel-datatables

相关问题