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 = 271 
WHERE 
  cscart_products_categories.product_id IN (
    5348, 5349, 5350, 5351, 5352, 2832, 2833, 
    2834, 2835, 6417, 6418, 6419, 6420, 
    6421, 2823, 2824, 2825, 2826, 6408, 
    6409, 6410, 6411, 6412, 2827, 2828, 
    2829, 2830, 2831, 6413, 6414, 6415, 
    6416, 2928, 2929, 2930, 2931, 2932, 
    6513, 6514, 6515, 6516, 3032, 6609, 
    3028, 3029, 3030, 3031, 6605, 6606, 
    6607, 6608, 6610, 6611, 6612, 6613, 
    3024, 3025, 3026, 3027, 3301, 6847, 
    3300, 2841, 2842, 2843, 2844, 6426, 
    6427, 6428, 6429, 6430, 2765, 2766, 
    2767, 2768, 6352, 6353, 6354, 6355, 
    6356, 2185, 2186, 2187, 2188, 5785, 
    5786, 5787, 5788, 5789, 6641, 6219, 
    5807, 3722, 5819, 1516, 6623
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00256

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "68.50"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.63"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "4.54",
              "eval_cost": "0.16",
              "prefix_cost": "4.70",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`gaseus`.`cscart_categories`.`usergroup_ids`))) and (`gaseus`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 110,
            "rows_produced_per_join": 1,
            "filtered": "0.93",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (5348,5349,5350,5351,5352,2832,2833,2834,2835,6417,6418,6419,6420,6421,2823,2824,2825,2826,6408,6409,6410,6411,6412,2827,2828,2829,2830,2831,6413,6414,6415,6416,2928,2929,2930,2931,2932,6513,6514,6515,6516,3032,6609,3028,3029,3030,3031,6605,6606,6607,6608,6610,6611,6612,6613,3024,3025,3026,3027,3301,6847,3300,2841,2842,2843,2844,6426,6427,6428,6429,6430,2765,2766,2767,2768,6352,6353,6354,6355,6356,2185,2186,2187,2188,5785,5786,5787,5788,5789,6641,6219,5807,3722,5819,1516,6623))",
            "cost_info": {
              "read_cost": "44.00",
              "eval_cost": "0.16",
              "prefix_cost": "66.30",
              "data_read_per_join": "26"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.41",
              "eval_cost": "0.16",
              "prefix_cost": "66.87",
              "data_read_per_join": "26"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1516 308M
2185 308M
2186 308M
2187 308M
2188 308M
2765 308M
2766 308M
2767 308M
2768 308M
2823 308M
2824 308M
2825 308M
2826 308M
2827 308M
2828 308M
2829 308M
2830 308M
2831 308M
2832 308M
2833 308M
2834 308M
2835 308M
2841 308M
2842 308M
2843 308M
2844 308M
2928 308M
2929 308M
2930 308M
2931 308M
2932 308M
3024 308M
3025 308M
3026 308M
3027 308M
3028 308M
3029 308M
3030 308M
3031 308M
3032 308M
3300 308M
3301 308M
3722 308M
5348 308M
5349 308M
5350 308M
5351 308M
5352 308M
5785 308M
5786 308M
5787 308M
5788 308M
5789 308M
5807 308M
5819 308M
6219 308M
6352 308M
6353 308M
6354 308M
6355 308M
6356 308M
6408 308M
6409 308M
6410 308M
6411 308M
6412 308M
6413 308M
6414 308M
6415 308M
6416 308M
6417 308M
6418 308M
6419 308M
6420 308M
6421 308M
6426 308M
6427 308M
6428 308M
6429 308M
6430 308M
6513 308M
6514 308M
6515 308M
6516 308M
6605 308M
6606 308M
6607 308M
6608 308M
6609 308M
6610 308M
6611 308M
6612 308M
6613 308M
6623 308M
6641 308M
6847 308M