我通过客户表获取所有客户数据 它使用查询
,大约有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中减少此视图的加载时间。请有人帮助我。
答案 0 :(得分:2)
减少CI中加载时间的一些提示。
assets
中的文件添加到应用程序文件夹之外,然后将其调用到您的.min
个版本。答案 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