In one of my client project, I use CodeIgniter, MySQL and Bootstrap 4 and it works properly until recently when the volume of data raised dramatically. Due to large amount data, one list page requires almost one minute to load all data. The PHP code behind the list page is:
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;
}
Where bsoft_pharma_product table contains around 27000 data, bsoft_pharma_company table contains 170 data, bsoft_pharma_product_category table contains 1200 data and finally bsoft_pharma_product_type table contains 112 data.
Can anyone tell me how can I optimize my query?
Thanks