SELECT 
  cscart_products.*, 
  cscart_product_descriptions.*, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) as price, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_categories.category_id, 
      'M'
    ) ELSE cscart_products_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_categories.link_type = 'M'
      ) DESC, 
      cscart_products_categories.category_position ASC, 
      cscart_products_categories.category_id ASC
  ) as category_ids, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_tag_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_tag_categories.category_id, 
      'M'
    ) ELSE cscart_products_tag_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_tag_categories.link_type = 'M'
      ) DESC, 
      cscart_products_tag_categories.category_position ASC, 
      cscart_products_tag_categories.category_id ASC
  ) as category_tag_ids, 
  popularity.total as popularity, 
  companies.company as company_name, 
  cscart_product_sales.amount as sales_amount, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path, 
  MIN(point_prices.point_price) as point_price, 
  cscart_discussion.type as discussion_type, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count, 
  ps.sold as sold 
FROM 
  cscart_products 
  LEFT JOIN cscart_product_prices ON cscart_product_prices.product_id = cscart_products.product_id 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 0, 1) 
  LEFT JOIN cscart_product_descriptions ON cscart_product_descriptions.product_id = cscart_products.product_id 
  AND cscart_product_descriptions.lang_code = 'vi' 
  LEFT JOIN cscart_companies as companies ON companies.company_id = cscart_products.company_id 
  INNER JOIN cscart_products_categories ON cscart_products_categories.product_id = cscart_products.product_id 
  LEFT JOIN cscart_products_tag_categories ON cscart_products_tag_categories.product_id = cscart_products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND (
    cscart_products.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_products.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_products.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_products.status IN ('A', 'H') 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = cscart_products.product_id 
  LEFT JOIN cscart_product_sales ON cscart_product_sales.product_id = cscart_products.product_id 
  AND cscart_product_sales.category_id = 412 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 50298 
  AND cscart_seo_names.type = 'p' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
  LEFT JOIN cscart_product_point_prices as point_prices ON point_prices.product_id = cscart_products.product_id 
  AND point_prices.lower_limit = 1 
  AND point_prices.usergroup_id IN (0, 0, 1) 
  LEFT JOIN cscart_discussion ON cscart_discussion.object_id = cscart_products.product_id 
  AND cscart_discussion.object_type = 'P' 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = cscart_products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
  LEFT JOIN cscart_product_sold ps ON cscart_products.product_id = ps.product_id 
WHERE 
  cscart_products.product_id = 50298 
  AND (
    companies.status IN ('A') 
    OR cscart_products.company_id = 0
  ) 
GROUP BY 
  cscart_products.product_id

Query time 0.04200

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_products",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "popularity",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "total"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_product_sales",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "pa"],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["category_id", "product_id"],
          "ref": ["const", "const"],
          "rows": 0,
          "filtered": 0,
          "unique_row_not_found": true
        }
      },
      {
        "table": {
          "table_name": "cscart_product_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": ["const"],
          "rows": 1,
          "filtered": 99.9960556,
          "attached_condition": "trigcond(cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,0,1))"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "product_id"],
          "key": "PRIMARY",
          "key_length": "11",
          "used_key_parts": ["product_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_product_descriptions.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": ["const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(companies.`status` = 'A')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_categories",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 3,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_categories",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["dev_db.cscart_products_categories.category_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "cscart_categories.storefront_id in (0,1) and (cscart_categories.usergroup_ids = '' or find_in_set(0,cscart_categories.usergroup_ids) or find_in_set(1,cscart_categories.usergroup_ids)) and cscart_categories.`status` in ('A','H')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_tag_categories",
          "access_type": "ref",
          "possible_keys": ["pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 20,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_seo_names",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "dispatch"],
          "key": "PRIMARY",
          "key_length": "206",
          "used_key_parts": ["object_id", "type", "dispatch", "lang_code"],
          "ref": ["const", "const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'p' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "point_prices",
            "access_type": "range",
            "possible_keys": ["unique_key", "src_k"],
            "key": "unique_key",
            "key_length": "8",
            "used_key_parts": ["lower_limit", "usergroup_id", "product_id"],
            "rows": 1,
            "filtered": 100,
            "attached_condition": "point_prices.product_id = 50298 and point_prices.lower_limit = 1 and point_prices.usergroup_id in (0,0,1)"
          },
          "buffer_type": "flat",
          "buffer_size": "255Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(1) and trigcond(point_prices.product_id = 50298 and point_prices.lower_limit = 1 and point_prices.usergroup_id in (0,0,1))"
        }
      },
      {
        "table": {
          "table_name": "cscart_discussion",
          "access_type": "const",
          "possible_keys": ["object_id"],
          "key": "object_id",
          "key_length": "6",
          "used_key_parts": ["object_id", "object_type"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_discussion.object_type = 'P')"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_review_prepared_data",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "7",
          "used_key_parts": ["product_id", "storefront_id"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "<derived2>",
            "access_type": "ALL",
            "rows": 12919,
            "filtered": 100,
            "attached_condition": "ps.product_id = 50298"
          },
          "buffer_type": "flat",
          "buffer_size": "256Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(ps.product_id = 50298)",
          "materialized": {
            "query_block": {
              "select_id": 2,
              "filesort": {
                "sort_key": "count(cscart_order_details.product_id) desc",
                "temporary_table": {
                  "nested_loop": [
                    {
                      "table": {
                        "table_name": "cscart_order_details",
                        "access_type": "index",
                        "key": "o_k",
                        "key_length": "6",
                        "used_key_parts": ["order_id", "product_id"],
                        "rows": 12919,
                        "filtered": 100,
                        "using_index": true
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}

Result

product_id product_code product_type status company_id list_price amount weight length width height shipping_freight low_avail_limit timestamp updated_timestamp usergroup_ids is_edp edp_shipping unlimited_download tracking free_shipping zero_price_action is_pbp is_op is_oper is_returnable return_period is_make_to_order make_period avail_since out_of_stock_actions localization min_qty max_qty qty_step list_qty_count tax_ids age_verification age_limit options_type exceptions_type details_layout shipping_params facebook_obj_type parent_product_id buy_now_url is_stock_split_by_warehouses is_fragile lang_code product shortname short_description full_description meta_keywords meta_description search_words page_title age_warning_message promo_text specification special_note punch_line selection chus_note about_brand why_chus purchasing_notice note_from_brand is_sync_seo_url price category_ids category_tag_ids popularity company_name sales_amount seo_name seo_path point_price discussion_type average_rating product_reviews_count sold
50298 10838_15 P A 873 1680000 10 2700.000 0 0 0 0.00 0 1728838800 1729506193 0 N N N B N R N N N Y 10 N 0 N 1 0 0 0 N 0 P F default a:5:{s:16:"min_items_in_box";i:1;s:16:"max_items_in_box";i:1;s:10:"box_length";i:30;s:9:"box_width";i:30;s:10:"box_height";i:15;} 0 N N vi Hộp Quà "Vietnam Memory", Rung Động Với Từng Vẻ Đẹp Việt, Trà Và Cà Phê Việt, Ví Đựng Passport, Ly Sứ, Lót Ly, Phin Cà Phê, Quà Cho Người Nước Ngoài <p>Khám phá vẻ đẹp của Việt Nam qua <strong>Hộp Quà "Vietnam Memory"</strong>, món quà không chỉ lưu giữ kỷ niệm mà còn mang đến trải nghiệm thưởng thức độc đáo.</p> <p>Bên trong chiếc hộp giấy cứng cáp, thắt ruy băng thanh lịch là những tặng phẩm được lựa chọn kỹ lưỡng, thể hiện biểu tượng đặc trưng của Việt Nam. Ly cà phê sứ men đen và phin cà phê nhôm cao cấp mang đến hương vị cà phê Cầu Đất đậm đà, cùng với trà ô long Kim Tuyên và lót ly gốm mang đậm dấu ấn Việt Nam. Hộp quà thêm phần hoàn hảo với ví bọc passport họa tiết Việt Nam đặc sắc.</p> <p>"Vietnam Memory" là một món quà tặng hoàn hảo, để cùng nhau cảm nhận vẻ đẹp Việt Nam qua từng trải nghiệm.</p> Hộp Quà "Vietnam Memory", Rung Động Với Từng Vẻ Đẹp Việt, Trà Và Cà Phê Việt, Ví Đựng Passport, Ly Sứ, Lót Ly, Phin Cà Phê, Quà Cho Người Nước Ngoài , "Vietnam Memory" Gift Box, Enchanted By Vietnam's Charm, Tea and Coffee, Passport Cover, Ceramic Cup, Coasters, Coffee Filter, Souvernirs Hộp Quà "Vietnam Memory" - The Curator | CHUS <p><strong>- Kích thước:</strong> 28 x 28 x 10cm</p> <p><strong>- Trọng lượng: </strong>3kg</p> <p><strong>- Mỗi set quà gồm:</strong> </p> <p>+ 1 Ly cafe gốm men đen</p> <p>+ 2 Lót ly gốm họa tiết địa danh Việt Nam (được giao ngẫu nhiên)</p> <p>+ 1 Phin cafe nhôm cao cấp màu đen</p> <p>+ 1 Thìa cà phê inox mạ vàng</p> <p>+ 1 Hũ cà phê phin Cầu Đất 250g</p> <p>+ 1 Hũ trà ôlong Kim Tuyên Cầu Đất</p> <p>+ 1 Passport cover với hình ảnh đặc trưng của Việt Nam qua phong cách popart </p> <p>+ 1 Hộp quà giấy cứng cáp, trang trí ruy băng bên ngoài</p> <p>+ 1 Túi giấy sang trọng đựng hộp quà</p> <p>+ 1 Thiệp giấy</p> <p>+ 1 Bưu thiếp thuyết minh về hộp quà</p> a:4:{s:17:"rs_brand_producer";a:5:{i:0;s:83:"Chọn lựa những sản phẩm chất lượng, hữu ích đưa vào hộp quà";i:1;s:41:"Sản phẩm thân thiện môi trường";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_ingredients";a:5:{i:0;s:83:"Chọn lựa những sản phẩm chất lượng, hữu ích đưa vào hộp quà";i:1;s:41:"Sản phẩm thân thiện môi trường";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_manufacture";a:5:{i:0;s:72:"Đóng gói quà đa dạng theo từng dịp và từng đối tượng";i:1;s:60:"Cẩn thận chọn lọc sản phẩm đưa vào hộp quà";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:17:"rs_certifications";a:5:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}} Lót ly gốm trong hộp quà với hình ảnh địa danh nổi tiếng Việt Nam như Hội An, Chùa Một Cột, Chợ Bến Thành... sẽ được giao ngẫu nhiên đến quý khách 0 1680000.0000 412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,412M,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123 512M,512M,423,423,424,424,425,425,426,426,427,427,430,430,432,432,433,433,434,434,436,436,437,437,445,445,451,451,473,473,503,503,504,504,507,507,518,518,519,519 693 The Curator hop-qua-vietnam-memory 412 D