SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  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_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  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 
  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 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND companies.status IN ('A') 
  AND (
    products.amount > 0 
    OR products.tracking = 'D'
  ) 
  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 prices.usergroup_id IN (0, 0, 1) 
  AND (
    (
      1 
      AND products.product_id IN (
        6362, 1976, 49320, 47621, 46715, 2080, 
        2083, 3747, 3755, 3759, 3761, 3762, 
        2305, 49192, 6369, 1975
      )
    ) 
    AND companies.status IN ('A') 
    AND prices.usergroup_id IN (0, 0, 1)
  ) 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC

Query time 0.00934

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "popularity.total desc, products.product_id",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "products",
              "access_type": "range",
              "possible_keys": ["PRIMARY", "status"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "rows": 16,
              "filtered": 52.06833649,
              "index_condition": "products.product_id in (6362,1976,49320,47621,46715,2080,2083,3747,3755,3759,3761,3762,2305,49192,6369,1975)",
              "attached_condition": "(products.amount > 0 or products.tracking = 'D') and (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": "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.products.product_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(descr1.lang_code = 'vi')"
            }
          },
          {
            "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": "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.products.product_id", "const"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "popularity",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "total"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products.product_id"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "prices",
              "access_type": "ref",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "key": "product_id",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products.product_id"],
              "rows": 1,
              "filtered": 99.9960556,
              "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1) and prices.usergroup_id in (0,0,1)"
            }
          },
          {
            "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.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 product company_name product_type parent_product_id average_rating product_reviews_count
1975 Hộp Quà 2 Hũ Nến Thơm “Falling In Love”, Hũ Thiếc, Mang hương vị yêu thương đến từng không gian, Quà Tặng Nến Thơm Sáp Đậu Nành, Gợi Ý Quà Tặng Chia Kandles P 0 5.00 5
6369 Hộp Quà Let Love Sparkle, Set Quà Nến Thơm, Hoa Khô Vĩnh Cửu, Quà Tặng Ngọt Ngào, Quà Tặng Valentine, Chocolate Valentine, Quà Tặng Lãng Mạn, Quà Tặng Cho Người Yêu The Joy Box P 0 4.95 19
2305 Set Quà Hoa & Nến Thơm, Bộ Sưu Tập “For My Beloved” Chia Kandles P 0 5.00 3
49192 Hộp Quà Hoa & Nến Thơm “Means To Me”, Bộ Quà Tặng Cho Mọi Khoảnh Khắc, Quà Tặng Sinh Nhật Độc Đáo & Ý Nghĩa, Quà Tặng Valentine Lý Tưởng Chia Kandles P 0 5.00 3
46715 Hộp Quà Shine The Light, Hộp Quà Nến Thơm, Nến Thơm Sáp Đậu Nành, Hoa Sáp Vĩnh Cửu, Hộp Diêm Trang Nhã, Bao Bì Thân Thiện Môi Trường, Quà Tặng Thư Giãn, Liệu Pháp Mùi Hương, Quà Tặng Cho Nam, Quà Tặng Cho Nữ, Quà Tặng Sinh Nhật The Joy Box P 0 4.95 20
3747 Black Panther Len, Thú Nhồi Bông Móc Len, Móc Khóa Black Panther, Móc Khóa Len Mini, Nhân Vật Siêu Anh Hùng ACI HOME P 0 5.00 2
1976 Trọn Bộ 4 Hũ Nến Thơm “Falling In Love”, Sáp Đậu Nành Chia Kandles P 0 5.00 1
3755 Mão, Thú Len 12 Con Giáp, Thú Nhồi Bông Len Handmade, Móc Khóa Mini Hình Mèo, Thú Bông 12 Con Giáp, Móc Khóa 12 Con Giáp ACI HOME P 0 5.00 1
6362 Hộp Quà Sweet As You, Set Quà Ngọt Ngào, Quà Tặng Valentine, Quà Tặng Sinh Nhật, Quà Tặng Bạn Gái, Quà Tặng Vợ, Nến Thơm, Socola Handmade, Hoa Khô Vĩnh Cửu The Joy Box P 0 5.00 6
2083 Thú Nhồi Bông Sư Tử Bư, Sư Tử Bông Đáng Yêu, Đồ Chơi Thú Bông Vải, Thú Bông Handmade Dễ Thương, Quà Sinh Nhật Cho Bé KATTIE HANDMADE P 0 5.00 1
2080 Thú Nhồi Bông Gấu Bum, Gấu Bông Bằng Vải, Gấu Bông Handmade, Đồ Chơi Vải, Quà Tặng Cho Bé, Quà Tặng Người Yêu KATTIE HANDMADE P 0
3759 Mùi, Thú Len 12 Con Giáp, Thú Bông Dê Nhỏ, Móc Khóa Nhỏ Xinh, Thú Bông 12 Con Giáp, Đồ Chơi Cho Bé, Quà Tặng Sinh Nhật ACI HOME P 0
3762 Tuất, Thú Len 12 Con Giáp, Cún Bông Mini, Thú Nhồi Bông Hình Cún, Móc Khóa Len 12 Con Giáp, Đồ Chơi 12 Con Giáp ACI HOME P 0
3761 Dậu, Thú Len 12 Con Giáp, Thú Bông 12 Con Giáp, Móc Khóa Nhỏ Handmade, Thú Len Hình Gà Trống, Quà Cho Người Tuổi Dậu ACI HOME P 0
47621 Hộp Quà “A Cozy Feeling”, Quà Tặng Cho Bạn Bè, Quà Tặng Cho Phái Nữ, Quà Tặng Sinh Nhật, Nến Thơm, Trải Nghiệm Thư Giãn, Ấm Áp, Tinh Tế The Joy Box P 0 0
49320 Hộp Quà French Rose, Quà Tặng Mùi Hương, Quà Tặng Lãng Mạn, Quà Tặng Sang Trọng, Quà Tặng Nến Thơm The Joy Box P 0 0