如何减少codeigniter视图加载时间

时间:2017-07-19 07:46:55

标签: php codeigniter

我通过客户表获取所有客户数据 它使用查询

,大约有15,000行
select * from customers order by createdate desc;

索引在createdate列上创建。 查询很好,不花那么多时间

但是ci视图加载页面大约需要2分钟 我使用分析

检查了这个
$this->output->enable_profiler(TRUE);

输出

             BENCHMARKS  
            Loading Time: Base Classes                              0.0231
            Header                                                  0.0010
            customersView                                           0.5493 //this is a view taking more time
            Footer                                                  0.0554
            Controller Execution Time ( Customers / CustomersController )   1.2286
            Total Execution Time                                    1.2519



             DATABASE:  vidyanidhi   QUERIES: 2  (Hide)
            0.0535      select * from customers where id=2568 
            0.1799      select * from customers order by createdate desc 

如何在ci中减少此视图的加载时间。请有人帮助我。

2 个答案:

答案 0 :(得分:2)

减少CI中加载时间的一些提示。

  1. 下载所有在线资源,例如JQUERY,Bootstrap等。将文件夹调用assets中的文件添加到应用程序文件夹之外,然后将其调用到您的
  2. 如果您使用的是公共库(JQUERY,Bootstrap),请使用.min个版本。
  3. 尽可能优化图片。
  4. 检查所有链接(AJAX,JS)遇到错误(500,404之类),它会有更多时间加载视图。

答案 1 :(得分:0)

在视图模型和控制器中放置额外的基准标记,以进一步细分。这将有助于您更好地了解每个部分正在做什么

$this->benchmark->mark('my_controller_start');

$this->benchmark->mark('my_controller_end');

另外为了让你查询得更快,不要选择*,只从表中获取你需要的数据,除非你绝对需要所有东西然后让你选择*

离。 select id, name , email

此外,如果您要向视图返回15,000个结果,则应尝试使用CI分页将其以块的形式返回

https://www.codeigniter.com/userguide3/libraries/pagination.html