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 (
        40310, 2695, 22020, 35175, 47606, 43852, 
        47657, 47902, 48220, 48559, 48652, 
        49009, 49105, 319, 35249, 36305
      )
    ) 
    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.01649

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 (40310,2695,22020,35175,47606,43852,47657,47902,48220,48559,48652,49009,49105,319,35249,36305)",
              "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
48559 Nhẫn Bạc Nón Lá Viet Nam, Trang Sức Bạc Sang Trọng, Chạm Khắc Tinh Xảo, Nét Đẹp Truyền Thống, Quà Tặng Ý Nghĩa Cho Quý Cô Tiệm Bạc Minh Tâm P 0 5.00 4
35175 Trang Sức Bạc Nón Lá 15mm, Chất Liệu Bạc Cao Cấp, Chạm Khắc Tỉ Mỉ, Phong Cách Nữ Tính, Quà Tặng Ý Nghĩa Tiệm Bạc Minh Tâm V 35242 5.00 1
47657 Hộp Quà 'Vị Tết' Mộc Truly Huế 2023, Hương Vị Đặc Sản Cố Đô, Thiết Kế Việt Vẽ Tay, Quà Tặng Đặc Sản, Quà Việt Nam Mộc Truly Huế P 0 5.00 14
2695 Hộp Quà Kombucha, Set 3 Vị Đặc Biệt (Nguyên Bản, Hoa Bụp Giấm, Chanh Muối), Lợi Khuẩn Tốt Cho Sức Khỏe, Quà Tặng Yêu Thương Lady kombucha P 0 5.00 5
319 Túi Sling, Túi Da Đeo Chéo Vân Da Cá Sấu, Vẻ Đẹp Sang Trọng Và Đẳng Cấp, Thiết Kế Thanh Lịch Và Tinh Tế, Phối Được Nhiều Phong Cách Hoi An Soul P 0 4.92 12
35249 Túi Canvas Phối Da Khắc Tên - Wipac, Túi Laptop 13 Inch, Quà Tặng Độc Đáo, Túi Xách Thanh Lịch, Phụ Kiện Công Sở Chu Du Bag P 0 5.00 18
47902 Hộp Quà Atisô Hữu Cơ - Combo 2, Trà Atiso Túi Lọc, Cao Atiso, Mật Ong, Atiso Đà Lạt, Quà Tặng Sức Khoẻ, Quà Tặng Ý Nghĩa, Quà Cho Người Thân LArti's Farm P 0 4.76 17
43852 Hộp Quà Tặng Phụ Nữ (Chăm Sóc Cơ Thể & Liệu Pháp Hương Thơm) ECOLIFE P 0
36305 Túi Da Pu Kelly, Túi Da Thời Trang, Chất Liệu Da Bò Bền Bỉ, Món Quà Thanh Lịch, Phụ Kiện Da, Quà Tặng Cá Nhân Hoá Hoa handmade P 0 0
48220 Wholesome Blossom, Quà Tặng Cho Người Phụ Nữ Yêu Thương, Quà Tặng Sang Trọng, Quà Cho Mẹ, Quà Cho Vợ, Quà Tặng Sức Khỏe Cho Phụ Nữ, Hĩa, Gối Chườm Thảo Mộc, Trà Hoa Hồng, Mật Ong Hoa Sú The Joy Box P 0 5.00 8
47606 Tranh Hoa Giấy Handmade Trang Trí - Khẽ Chạm MAYPAPERFLOWER Khung Gỗ Size 30 x 40cm Maypaperflower P 0
40310 Nano Gừng Sẻ, Set Quà Tặng Thanh Lịch, 2 Hộp Thiếc Màu Ngẫu Nhiên - G-Project | CHUS G-Project P 0 0
22020 Túi Muse, Túi Da Đeo Vai Nắp Gập, Vân Da Cá Sấu, Chất Liệu Cao Cấp, Thiết Kế Tối Giản và Thời Thượng, Độ Bền Cao, Phong Cách Trẻ Trung Hoi An Soul P 0 5.00 1
49105 Hộp Quà An, Hộp Quà Sức Khỏe, Quà Tặng Cho Nữ, Nến Thơm, Trà Hoa, Muối Hồng, Diêm Chuyên Dụng, Túi Thơm The Joy Box P 0
48652 Trà Ô Long Sâm Dây Ngọc Linh Thượng Hạng, Hộp Trà 100G, Trà Việt Nam Cao Cấp, Trà Đặc Sản, Đồ Uống Sức Khỏe, Quà Tặng Sức Khỏe, Quà Tặng Trà Ý Nghĩa Mohodo Farmers P 0 5.00 1
49009 Hộp Quà Honey Sweet, Hộp Quà Tặng Nữ, Gối Chườm Thảo Mộc, Muối Ngâm Thảo Mộc, Xà Bông Hữu Cơ, Hộp Quà Chăm Sóc Bản Thân, Hộp Quà Thư Giãn The Joy Box P 0