SELECT 
  cscart_multi_decproducts_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_multi_decproducts_categories.link_type = "M", 
      CONCAT(
        cscart_multi_decproducts_categories.category_id, 
        "M"
      ), 
      cscart_multi_decproducts_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_multi_decproducts_categories 
  INNER JOIN cscart_multi_deccategories ON cscart_multi_deccategories.category_id = cscart_multi_decproducts_categories.category_id 
  AND cscart_multi_deccategories.storefront_id IN (0, 1) 
  AND (
    cscart_multi_deccategories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_multi_deccategories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_multi_deccategories.usergroup_ids
    )
  ) 
  AND cscart_multi_deccategories.status IN ('A', 'H') 
WHERE 
  cscart_multi_decproducts_categories.product_id IN (
    74, 73, 71, 75, 72, 108, 237, 191, 235, 
    70, 122, 115, 156, 90, 175, 196, 43, 104, 
    76, 129, 127, 121, 103, 95
  ) 
GROUP BY 
  cscart_multi_decproducts_categories.product_id

Query time 0.00076

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "31.28"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.65"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_multi_deccategories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 3,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "19.61",
              "eval_cost": "0.67",
              "prefix_cost": "20.28",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`vishalecarter_multi_dec`.`cscart_multi_deccategories`.`storefront_id` in (0,1)) and ((`vishalecarter_multi_dec`.`cscart_multi_deccategories`.`usergroup_ids` = '') or find_in_set(0,`vishalecarter_multi_dec`.`cscart_multi_deccategories`.`usergroup_ids`) or find_in_set(1,`vishalecarter_multi_dec`.`cscart_multi_deccategories`.`usergroup_ids`)) and (`vishalecarter_multi_dec`.`cscart_multi_deccategories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_multi_decproducts_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "vishalecarter_multi_dec.cscart_multi_deccategories.category_id"
            ],
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "9.70",
            "index_condition": "(`vishalecarter_multi_dec`.`cscart_multi_decproducts_categories`.`product_id` in (74,73,71,75,72,108,237,191,235,70,122,115,156,90,175,196,43,104,76,129,127,121,103,95))",
            "cost_info": {
              "read_cost": "9.00",
              "eval_cost": "0.13",
              "prefix_cost": "30.63",
              "data_read_per_join": "10"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
43 185M
70 236M
71 236M
72 240M
73 240M
74 240M
75 240M
76 240M
90 247M
95 248M
103 242M
104 242M
108 242M
115 208M
121 244M
122 208M
127 209M
129 209M
156 181M
175 199M
191 231M
196 232M
235 217M
237 218M