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 = 7168 
WHERE 
  cscart_products_categories.product_id IN (
    100197, 100198, 100199, 100200, 100201, 
    100202, 100203, 100204, 100205, 100206, 
    100207, 100208, 100209, 100210, 100211, 
    100217, 100218, 100219, 100220, 100221, 
    100222, 100223, 100224, 100225, 100226, 
    100227, 100228, 100229, 100230, 100231, 
    100232, 100233, 100234, 100235, 100236, 
    100237, 100238, 100239, 100240, 100241, 
    100242, 100243, 100244, 100245, 100246, 
    100247, 100248, 100249, 100250, 100251, 
    100252, 100253, 100254, 100255, 100256, 
    100257, 100258, 100259, 100260, 100261, 
    100262, 100263, 100264, 100265, 100266, 
    100267, 100268, 100269, 100270, 100271, 
    100272, 100273, 100274, 100275, 100276, 
    100277, 100278, 100279, 100280, 100281, 
    100282, 100283, 100284, 100285, 100286, 
    100287, 100288, 100289, 100290, 100291, 
    100296, 100297, 100298, 100299, 100300, 
    100301
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00272

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.77"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 96,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.89",
              "eval_cost": "9.60",
              "prefix_cost": "19.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100197,100198,100199,100200,100201,100202,100203,100204,100205,100206,100207,100208,100209,100210,100211,100217,100218,100219,100220,100221,100222,100223,100224,100225,100226,100227,100228,100229,100230,100231,100232,100233,100234,100235,100236,100237,100238,100239,100240,100241,100242,100243,100244,100245,100246,100247,100248,100249,100250,100251,100252,100253,100254,100255,100256,100257,100258,100259,100260,100261,100262,100263,100264,100265,100266,100267,100268,100269,100270,100271,100272,100273,100274,100275,100276,100277,100278,100279,100280,100281,100282,100283,100284,100285,100286,100287,100288,100289,100290,100291,100296,100297,100298,100299,100300,100301))"
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "24.00",
              "eval_cost": "0.48",
              "prefix_cost": "53.09",
              "data_read_per_join": "12K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "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",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.20",
              "eval_cost": "0.48",
              "prefix_cost": "54.77",
              "data_read_per_join": "76"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
100197 7172M
100198 7168M 0
100199 7168M 0
100200 7168M 0
100201 7168M 0
100202 7168M 0
100203 7168M 0
100204 7168M 0
100205 7168M 0
100206 7168M 0
100207 7168M 0
100208 7168M 0
100209 7168M 0
100210 7168M 0
100211 7168M 0
100217 7168M 0
100218 7175M
100219 7175M
100220 7175M
100221 7175M
100222 7175M
100223 7175M
100224 7175M
100225 7175M
100226 7175M
100227 7176M
100228 7168M 0
100229 7168M 0
100230 7168M 0
100231 7168M 0
100232 7168M 0
100233 7179M
100234 7179M
100235 7179M
100236 7179M
100237 7179M
100238 7179M
100239 7168M 0
100240 7168M 0
100241 7168M 0
100242 7176M
100243 7176M
100244 7176M
100245 7176M
100246 7176M
100247 7176M
100248 7177M
100249 7177M
100250 7177M
100251 7168M 0
100252 7168M 0
100253 7168M 0
100254 7177M
100255 7177M
100256 7177M
100257 7177M
100258 7177M
100259 7177M
100260 7168M 0
100261 7168M 0
100262 7168M 0
100263 7168M 0
100264 7168M 0
100265 7168M 0
100266 7168M 0
100267 7168M 0
100268 7168M 0
100269 7168M 0
100270 7168M 0
100271 7168M 0
100272 7168M 0
100273 7168M 0
100274 7168M 0
100275 7168M 0
100276 7168M 0
100277 7168M 0
100278 7168M 0
100279 7168M 0
100280 7168M 0
100281 7168M 0
100282 7168M 0
100283 7168M 0
100284 7168M 0
100285 7168M 0
100286 7168M 0
100287 7168M 0
100288 7168M 0
100289 7168M 0
100290 7168M 0
100291 7168M 0
100296 7168M 0
100297 7168M 0
100298 7172M
100299 7168M 0
100300 7172M
100301 7168M 0