SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  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_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 493 
WHERE 
  cscart_products_categories.product_id IN (
    30368, 40381, 47828, 46583, 48557, 1945, 
    34667, 119, 3864, 35167, 44947, 40448, 
    36272, 2238, 49192, 47974, 45446, 1585, 
    40447, 6355, 27262, 47824, 34666, 35166, 
    35169, 41292, 1535, 47600, 47012, 6354, 
    31965, 40450
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01002

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_products_categories",
          "access_type": "range",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "rows": 70,
          "filtered": 100,
          "index_condition": "cscart_products_categories.product_id in (30368,40381,47828,46583,48557,1945,34667,119,3864,35167,44947,40448,36272,2238,49192,47974,45446,1585,40447,6355,27262,47824,34666,35166,35169,41292,1535,47600,47012,6354,31965,40450)"
        }
      },
      {
        "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": "product_position_source",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["category_id", "product_id"],
          "ref": ["const", "dev_db.cscart_products_categories.product_id"],
          "rows": 1,
          "filtered": 100
        }
      }
    ]
  }
}

Result

product_id category_ids position
119 214M
1535 124M
1585 111M
1945 193M
2238 123M
3864 313,166M
6354 169,412M
6355 412M
27262 412,210M
30368 175M
31965 210,213,169M
34666 122M
34667 122M
35166 144M
35167 144,210,143M
35169 143,144M
36272 412,122M
40381 122M
40447 110,409,149M
40448 409,149M
40450 209,409,149M
41292 209,210,142M
44947 193,317M
45446 169M
46583 169M
47012 210,141M
47600 212,210,409,166M
47824 117,214M
47828 172M
47974 163,166,210,183M
48557 210,143M
49192 213,210,412,169M