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 = 266 
WHERE 
  cscart_products_categories.product_id IN (
    42, 83, 84, 85, 86, 87, 88, 89, 147, 148, 
    149, 150, 151, 152, 153, 168, 169, 170, 
    171, 172, 173, 174, 250, 251, 252, 253, 
    254, 255, 256, 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
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00410

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 (42,83,84,85,86,87,88,89,147,148,149,150,151,152,153,168,169,170,171,172,173,174,250,251,252,253,254,255,256,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))",
            "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
42 273M
76 273M
77 273M
78 273M
79 273M
80 273M
81 273M
82 273M
83 273M
84 273M
85 273M
86 273M
87 273M
88 273M
89 273M
140 273M
141 273M
142 273M
143 273M
144 273M
147 273M
148 273M
149 273M
150 273M
151 273M
152 273M
153 273M
168 273M
169 273M
170 273M
171 273M
172 273M
173 273M
174 273M
250 273M
251 273M
252 273M
253 273M
254 273M
255 273M
256 273M
304 273M
305 273M
306 273M
307 273M
308 273M
309 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