SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  products.amount, 
  descr1.product as product, 
  companies.company as company_name, 
  variation_group_products.group_id AS variation_group_id, 
  products.product_type, 
  products.parent_product_id, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'vi' 
  LEFT JOIN cscart_companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id 
  INNER JOIN cscart_product_variation_group_products AS variation_group_products ON variation_group_products.product_id = products.product_id 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
WHERE 
  1 
  AND companies.status IN ('A') 
  AND (
    products.usergroup_ids = '' 
    OR FIND_IN_SET(0, products.usergroup_ids) 
    OR FIND_IN_SET(1, products.usergroup_ids)
  ) 
  AND products.status IN ('A') 
  AND variation_group_products.group_id IN (14147, 14152, 14146, 14165) 
GROUP BY 
  products.product_id 
ORDER BY 
  NULL asc

Query time 0.00957

JSON explain

{
  "query_block": {
    "select_id": 1,
    "temporary_table": {
      "nested_loop": [
        {
          "table": {
            "table_name": "variation_group_products",
            "access_type": "range",
            "possible_keys": ["PRIMARY", "idx_group_id"],
            "key": "idx_group_id",
            "key_length": "3",
            "used_key_parts": ["group_id"],
            "rows": 11,
            "filtered": 100,
            "index_condition": "variation_group_products.group_id in (14147,14152,14146,14165)"
          }
        },
        {
          "table": {
            "table_name": "products",
            "access_type": "eq_ref",
            "possible_keys": ["PRIMARY", "status"],
            "key": "PRIMARY",
            "key_length": "3",
            "used_key_parts": ["product_id"],
            "ref": ["dev_db.variation_group_products.product_id"],
            "rows": 1,
            "filtered": 52.06833649,
            "attached_condition": "(products.usergroup_ids = '' or find_in_set(0,products.usergroup_ids) or find_in_set(1,products.usergroup_ids)) and products.`status` = 'A'"
          }
        },
        {
          "table": {
            "table_name": "companies",
            "access_type": "eq_ref",
            "possible_keys": ["PRIMARY"],
            "key": "PRIMARY",
            "key_length": "4",
            "used_key_parts": ["company_id"],
            "ref": ["dev_db.products.company_id"],
            "rows": 1,
            "filtered": 100,
            "attached_condition": "companies.`status` = 'A'"
          }
        },
        {
          "table": {
            "table_name": "descr1",
            "access_type": "eq_ref",
            "possible_keys": ["PRIMARY", "product_id"],
            "key": "PRIMARY",
            "key_length": "11",
            "used_key_parts": ["product_id", "lang_code"],
            "ref": ["dev_db.variation_group_products.product_id", "const"],
            "rows": 1,
            "filtered": 100,
            "attached_condition": "trigcond(descr1.lang_code = 'vi')"
          }
        },
        {
          "table": {
            "table_name": "cscart_product_review_prepared_data",
            "access_type": "eq_ref",
            "possible_keys": ["PRIMARY"],
            "key": "PRIMARY",
            "key_length": "7",
            "used_key_parts": ["product_id", "storefront_id"],
            "ref": ["dev_db.variation_group_products.product_id", "const"],
            "rows": 1,
            "filtered": 100
          }
        },
        {
          "table": {
            "table_name": "products_categories",
            "access_type": "ref",
            "possible_keys": ["PRIMARY", "pt"],
            "key": "pt",
            "key_length": "3",
            "used_key_parts": ["product_id"],
            "ref": ["dev_db.variation_group_products.product_id"],
            "rows": 1,
            "filtered": 100
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": ["PRIMARY", "p_category_id"],
            "key": "PRIMARY",
            "key_length": "3",
            "used_key_parts": ["category_id"],
            "ref": ["dev_db.products_categories.category_id"],
            "rows": 1,
            "filtered": 100,
            "using_index": true
          }
        }
      ]
    }
  }
}

Result

product_id amount product company_name variation_group_id product_type parent_product_id average_rating product_reviews_count
1175 1998 Balo Kiểu Trẻ Em, Thiết Kế Xinh Xắn, Màu Sắc Đáng Yêu, Chất Liệu Bền Đẹp, Ngăn Chứa Đồ Rộng Rãi, Balo Tiện Dụng Cho Trẻ Louh Saigon 14146 P 0 5.00 1
1174 1998 Balo Trẻ Em, Kích Thước Phù Hợp Với Trẻ, Chất Liệu Bền Màu và Chắc Chắn, Thiết Kế Dễ Thương, Màu Sắc Nổi Bật, Ngăn Chứa Đồ Rộng Rãi Louh Saigon 14147 P 0 5.00 1
23747 1998 Balo Trẻ Em, Kích Thước Phù Hợp Với Trẻ, Chất Liệu Bền Màu và Chắc Chắn, Thiết Kế Dễ Thương, Màu Sắc Nổi Bật, Ngăn Chứa Đồ Rộng Rãi Louh Saigon 14147 V 1174 5.00 1
23759 1998 Túi Xách Sleep-Over, Chất Liệu Vải Cotton Chắc Chắn, Túi Có Lớp Lót, Thiết Kế Tối Giản, Phù Hợp Mọi Giới Tính và Lứa Tuổi Louh Saigon 14152 P 0 5.00 1
1154 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23899 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 P 0 0
23900 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23901 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23902 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23903 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23904 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0
23910 1998 Quần Baby Bloomy, Hoạ Tiết Xinh Xắn, Thiết Kế Thoải Mái, Thấm Hút Mồ Hôi Tốt, Mềm Mại Với Làn Da Của Bé, Cho Bé Từ 1-2 Tuổi Louh Saigon 14165 V 23899 0