在Codeigniter中处理大型数据集

时间:2019-08-22 04:54:21

标签: php mysql codeigniter php-7

我的产品记录超过60,000, 当我使用PHPMyAdmin-> SQL触发查询时,它会立即获得结果,但是当我将其与codeigniter分页一起使用时,它将滞后

花费太多时间来加载页面

是他们处理此问题的任何方式 sh

2 个答案:

答案 0 :(得分:2)

解决计数记录时的问题 num_rows()花费 20秒 在哪里 $this->db->select('COUNT(*) as count')与get()-> row() 只需 0.63秒

答案 1 :(得分:0)

通常,查询的速度取决于索引和引用。我建议您先检查一下。

您可以使用'Explain'语句更好地了解如何优化查询。这里是直接来自MySQL网站的更多信息。

Using Explain Statement

我也强烈建议为CI打开“ profiler”以确定瓶颈所在的位置。

$this->output->enable_profiler(TRUE);

第三,如果我无法根据您的探查器获得任何其他信息,我将建议您将jQuery数据表与CI结合使用,它的服务器端处理可以在短时间内处理数百万行。它只会加载当前处于活动状态的页面,从而使用户端的事情变得更加简单和容易。

https://datatables.net/examples/data_sources/server_side