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, 
  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 = 155 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 972 
  AND cscart_seo_names.type = 'p' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
  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 = 972 
  AND (
    companies.status IN ('A') 
    OR cscart_products.company_id = 0
  ) 
GROUP BY 
  cscart_products.product_id

Query time 0.06978

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": 100,
          "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": 1,
          "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": 10,
          "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": 2,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'p' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      },
      {
        "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": 12545,
            "filtered": 100,
            "attached_condition": "ps.product_id = 972"
          },
          "buffer_type": "flat",
          "buffer_size": "244Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(ps.product_id = 972)",
          "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": 12545,
                        "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 discussion_type average_rating product_reviews_count sold
972 10181_23B3 P A 500 224000 999 500.000 0 0 0 0.00 0 1655312400 1727257174 0 N N N B N N N N Y 10 Y 1 - 2 0 N N 0 default a:5:{s:16:"min_items_in_box";i:1;s:16:"max_items_in_box";i:1;s:10:"box_length";i:25;s:9:"box_width";i:20;s:10:"box_height";i:10;} 0 N N vi Túi Tote Vẽ Tay, Chim Tutu, Túi Tote Handmade, Phong Cách Ngày Hè Nhiệt Đới, Hình Vẽ Tay Sắc Nét Không Bong Tróc <p>Túi Tote Vẽ Tay Hình Chim Tutu phối lá cây bản nhỏ được Hanako vẽ tay rất tỉ mỉ, sắc nét bởi màu acrylic không bong tróc, không phai màu và an toàn cho sức khỏe của bạn.</p> <p>Sản phẩm độc quyền với 2 mẫu cá tính, mang phong cách nhiệt đới ngày hè.</p> Túi Tote Vẽ Tay Chim Tutu handmade độc quyền với họa tiết phối lá cây bản nhỏ được vẽ tay tỉ mỉ, sắc nét bởi màu acrylic. Mua ngay tại Chus! , Hand-drawn Tote Bags, Tutu Bird Túi Tote Vẽ Tay Chim Tutu Handmade - Hanako Shop | CHUS <p>- Kích thước: 33 x 32 x 6cm</p> <p>- Chất liệu: Vải canvas</p> <p>- Có khả năng đựng được trọng lượng từ 5-7kg.</p> <p>- Dễ dàng giặt sạch.</p> <p>- Dễ gấp và sử dụng.</p> <p>- Màu vẽ: acrylic không bong tróc, không bay màu, không ảnh hưởng đến sức khỏe</p> Túi vải vẽ tay | Túi có thể tái sử dụng | Túi canvas | Thủ công | Bền vững <p>1. Túi trắng</p> <p>2. Túi Kem</p> <p>Một set đồ đơn giản quần jeans áo thun hằng ngày với túi tote thì năng động trẻ trung, chuyển qua một chiếc váy với túi tote thì nhẹ nhàng và tinh tế, một chiếc áo thun với váy dài thì trở thành một người phụ nữ đảm đang, chu đáo.</p> <p>Hanako chuyên cung cấp sản phẩm túi vẽ tay độc đáo cho khách hàng trong và ngoài nước. Chị Tiền - sáng lập viên của Hanako là một hoạ sĩ đam mê nghệ thuật, do vậy, chị mong lan toả những giá trị tốt đẹp của các sản phẩm thủ công nghệ thuật đến với đông đảo mọi người.</p> <p>Túi vẽ canvas tại đây được yêu thích bởi sự tiện lợi và gọn nhẹ. Đây là kiểu túi có kiểu dáng đơn giản lại đa năng, phù hợp với nhiều hoàn cảnh sử dụng. Tuy nhiên không vì thế mà nhàm chán bởi tại Hanako, mỗi sản phẩm đều là một tác phẩm nghệ thuật. Các họa sĩ tại Hanako Shop mang đến nét vẽ tinh tế, phóng khoáng, thể hiện được nét đẹp của văn hóa nghệ thuật dân tộc trên nền vải trơn đơn giản.</p> <p>Bên cạnh đó, chất liệu cũng là một trong những tiêu chuẩn để sản phẩm của Hanako nổi bật trên thị trường, không chỉ đáp ứng yêu cầu về mặt thẩm mỹ mà còn phải an toàn tới người và môi trường xung quanh. Vì thế, túi tote tại Hanako là món quà đầy ý nghĩa để bạn tặng cho chính mình, cũng như bạn bè và người thân.</p> <p>Giá trị thương hiệu mang lại chính là sự tin tưởng và nguyên tắc làm việc. Hanako Shop luôn cố gắng đáp ứng những mong muốn của khách hàng một cách tốt nhất. Trong tương lai, Hanako mong muốn mang sản phẩm Túi vẽ tay canvas đến bạn bè quốc tế và tạo ra ảnh hưởng tích cực đến sự phát triển của xã hội.</p> a:4:{s:17:"rs_brand_producer";a:5:{i:0;s:19:"Túi vải vẽ tay";i:1;s:113:"Mong muốn tạo ra ảnh hưởng tích cực với sản phẩm túi vải vẽ tay có thể tái sử dụng";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_ingredients";a:5:{i:0;s:24:"Vải canvas, vải đay";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_manufacture";a:5:{i:0;s:11:"Thủ công";i:1;s:8:"Vẽ tay";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:"";}} <p>Từ 5 sản phẩm trở lên phải đặt trước</p> Sản phẩm được thực hiện thủ công nên sẽ có chút khác biệt về màu sắc và họa tiết trên sản phẩm thực tế với hình ảnh. Vui lòng ghi rõ yêu cầu về sản phẩm trong phần Lưu ý từ khách hàng bên dưới (nếu có). 1 175000.0000 155M,155M,155M,155M,155M,155M,155M,155M,155M,155M 512M,416,432,434,472,475,489,502,514,515 6916 Hanako Shop tui-tote-ve-tay-chim-tutu 100/155 D 0 2