如何优化Code​​Igniter查询性能?

时间:2018-03-06 08:47:23

标签: php codeigniter-3

在我的一个客户端项目中,我使用 CodeIgniter MySQL Bootstrap 4 ,直到最近数据量正常大幅提升。由于数据量很大,一个列表页面需要几乎一分钟才能加载所有数据。列表页面后面的PHP代码是:

function getproductlist() {
    $query = $this->db->select('prd.id id, prd.brand_name brand_name, prd.strength strength, prd.status status, prd.remarks remarks, com.company_name company_name, cat.category_name category_name, dos.type_name type_name')->from('bsoft_pharma_product prd')->join('bsoft_pharma_company com', 'prd.company_id = com.id', 'left')->join('bsoft_pharma_product_category cat', 'prd.category_id = cat.id', 'left')->join('bsoft_pharma_product_type dos', 'prd.dosage_id = dos.id', 'left')->get();
    return $query;
}

bsoft_pharma_product 表包含 27000 数据, bsoft_pharma_company 表包含 170 数据, bsoft_pharma_product_category < / strong>表包含 1200 数据,最后 bsoft_pharma_product_type 表包含 112 数据。

有谁能告诉我如何优化我的查询? 感谢

1 个答案:

答案 0 :(得分:1)

我认为可能有一些解决方案你必须尝试......

解决方案1:

仅在用户到达页面末尾时加载页面数据...赞: 谷歌图片:[当我们查看谷歌图片,我们到达页面的末尾,然后其他一些图像开始加载,直到请求的图像类型结束。

解决方案2:

将数据转换为分页,如每页20/30条记录。

解决方案3:

使用一些徽标/动画加载技巧......如:

使用JavaScript检查页面加载百分比,然后加载类似:动画或公司徽标等内容,因此如果用户必须等待,那么他们就不会感到野猪或认为页面中存在某些问题。