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 (
    216, 217, 218, 219, 220, 221, 222, 223, 
    278, 279, 280, 281, 282, 283, 284, 332, 
    333, 334, 335, 336, 337, 3915, 3916, 
    3917, 3918, 3919, 3920, 3921, 3968, 
    3969, 3970, 3971, 3972, 3973, 3974, 
    4020, 4021, 4022, 4023, 4024, 4025, 
    4026, 4094, 4095, 4096, 4097, 4098, 
    4099, 4100, 4101, 4102, 4103, 4104, 
    4105, 4106, 4107, 4163, 4164, 4165, 
    4166, 4167, 4168, 4169, 4216, 4217, 
    4218, 4219, 4220, 4221, 4222, 196, 197, 
    198, 199, 200, 201, 202, 271, 272, 273, 
    274, 275, 276, 277, 325, 326, 327, 328, 
    329, 330, 415, 416, 417, 418, 3616, 3617
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00271

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 (216,217,218,219,220,221,222,223,278,279,280,281,282,283,284,332,333,334,335,336,337,3915,3916,3917,3918,3919,3920,3921,3968,3969,3970,3971,3972,3973,3974,4020,4021,4022,4023,4024,4025,4026,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4163,4164,4165,4166,4167,4168,4169,4216,4217,4218,4219,4220,4221,4222,196,197,198,199,200,201,202,271,272,273,274,275,276,277,325,326,327,328,329,330,415,416,417,418,3616,3617))",
            "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
196 273M
197 273M
198 273M
199 273M
200 273M
201 273M
202 273M
216 273M
217 273M
218 273M
219 273M
220 273M
221 273M
222 273M
223 273M
271 273M
272 273M
273 273M
274 273M
275 273M
276 273M
277 273M
278 273M
279 273M
280 273M
281 273M
282 273M
283 273M
284 273M
325 273M
326 273M
327 273M
328 273M
329 273M
330 273M
332 273M
333 273M
334 273M
335 273M
336 273M
337 273M
415 273M
416 273M
417 273M
418 273M
3616 273M
3617 273M
3915 273M
3916 273M
3917 273M
3918 273M
3919 273M
3920 273M
3921 273M
3968 273M
3969 273M
3970 273M
3971 273M
3972 273M
3973 273M
3974 273M
4020 273M
4021 273M
4022 273M
4023 273M
4024 273M
4025 273M
4026 273M
4094 273M
4095 273M
4096 273M
4097 273M
4098 273M
4099 273M
4100 273M
4101 273M
4102 273M
4103 273M
4104 273M
4105 273M
4106 273M
4107 273M
4163 273M
4164 273M
4165 273M
4166 273M
4167 273M
4168 273M
4169 273M
4216 273M
4217 273M
4218 273M
4219 273M
4220 273M
4221 273M
4222 273M