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 (
    304, 305, 306, 307, 308, 309, 3532, 3533, 
    3534, 3535, 3536, 3537, 3538, 3947, 
    3948, 3949, 3950, 3951, 3952, 3953, 
    3992, 3993, 3994, 3995, 3996, 3997, 
    3998, 4052, 4053, 4054, 4055, 4056, 
    4057, 4058, 4135, 4136, 4137, 4138, 
    4139, 4140, 4141, 4188, 4189, 4190, 
    4191, 4192, 4193, 4194, 29, 30, 31, 32, 
    33, 34, 35, 76, 77, 78, 79, 80, 81, 82, 
    140, 141, 142, 143, 144, 145, 146, 161, 
    162, 163, 164, 165, 166, 167, 243, 244, 
    245, 246, 247, 248, 249, 297, 298, 299, 
    300, 301, 302, 3525, 3526, 3527, 3528, 
    3529, 3530, 3531
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00309

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "68.37"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.53"
      },
      "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.87",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (304,305,306,307,308,309,3532,3533,3534,3535,3536,3537,3538,3947,3948,3949,3950,3951,3952,3953,3992,3993,3994,3995,3996,3997,3998,4052,4053,4054,4055,4056,4057,4058,4135,4136,4137,4138,4139,4140,4141,4188,4189,4190,4191,4192,4193,4194,29,30,31,32,33,34,35,76,77,78,79,80,81,82,140,141,142,143,144,145,146,161,162,163,164,165,166,167,243,244,245,246,247,248,249,297,298,299,300,301,302,3525,3526,3527,3528,3529,3530,3531))",
            "cost_info": {
              "read_cost": "44.00",
              "eval_cost": "0.15",
              "prefix_cost": "66.30",
              "data_read_per_join": "24"
            },
            "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.38",
              "eval_cost": "0.15",
              "prefix_cost": "66.84",
              "data_read_per_join": "24"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
29 273M
30 273M
31 273M
32 273M
33 273M
34 273M
35 273M
76 273M
77 273M
78 273M
79 273M
80 273M
81 273M
82 273M
140 273M
141 273M
142 273M
143 273M
144 273M
145 273M
146 273M
161 273M
162 273M
163 273M
164 273M
165 273M
166 273M
167 273M
243 273M
244 273M
245 273M
246 273M
247 273M
248 273M
249 273M
297 273M
298 273M
299 273M
300 273M
301 273M
302 273M
304 273M
305 273M
306 273M
307 273M
308 273M
309 273M
3525 273M
3526 273M
3527 273M
3528 273M
3529 273M
3530 273M
3531 273M
3532 273M
3533 273M
3534 273M
3535 273M
3536 273M
3537 273M
3538 273M
3947 273M
3948 273M
3949 273M
3950 273M
3951 273M
3952 273M
3953 273M
3992 273M
3993 273M
3994 273M
3995 273M
3996 273M
3997 273M
3998 273M
4052 273M
4053 273M
4054 273M
4055 273M
4056 273M
4057 273M
4058 273M
4135 273M
4136 273M
4137 273M
4138 273M
4139 273M
4140 273M
4141 273M
4188 273M
4189 273M
4190 273M
4191 273M
4192 273M
4193 273M
4194 273M