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 = 7156 
WHERE 
  cscart_products_categories.product_id IN (
    86890, 91864, 92374, 85576, 85584, 85572, 
    86900, 85592, 88907, 88908, 88905, 
    88906, 85546, 85571, 85573, 85574, 
    91877, 91878, 91879, 91880, 91881, 
    91882, 91883, 85555, 85594, 85564, 
    90025, 85575, 86889, 86895, 82359, 
    87888, 91844, 92185, 92382, 85561, 
    91856, 88910, 88909, 82370, 86893, 
    85553, 85559, 92172, 92358, 92359, 
    92360, 92361, 92362, 92363, 92364, 
    85560, 85566, 85641, 89988, 91848, 
    91888, 85569, 91876, 85545, 92357, 
    84237, 85548, 92913, 92914, 92915, 
    92916, 92917, 92918, 92919, 92920, 
    92921, 93283, 93285, 93287, 93289, 
    93291, 93753, 93754, 93755, 93756, 
    93757, 93758, 93759, 93760, 93761, 
    93762, 93763, 93764, 93765, 93766, 
    93767, 93768, 93769, 93770, 93771
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00271

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "145.63"
    },
    "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": 256,
            "rows_produced_per_join": 256,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "25.95",
              "eval_cost": "25.60",
              "prefix_cost": "51.55",
              "data_read_per_join": "4K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (86890,91864,92374,85576,85584,85572,86900,85592,88907,88908,88905,88906,85546,85571,85573,85574,91877,91878,91879,91880,91881,91882,91883,85555,85594,85564,90025,85575,86889,86895,82359,87888,91844,92185,92382,85561,91856,88910,88909,82370,86893,85553,85559,92172,92358,92359,92360,92361,92362,92363,92364,85560,85566,85641,89988,91848,91888,85569,91876,85545,92357,84237,85548,92913,92914,92915,92916,92917,92918,92919,92920,92921,93283,93285,93287,93289,93291,93753,93754,93755,93756,93757,93758,93759,93760,93761,93762,93763,93764,93765,93766,93767,93768,93769,93770,93771))"
          }
        },
        {
          "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": 12,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "64.00",
              "eval_cost": "1.28",
              "prefix_cost": "141.15",
              "data_read_per_join": "33K"
            },
            "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": 12,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "3.20",
              "eval_cost": "1.28",
              "prefix_cost": "145.63",
              "data_read_per_join": "204"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
82359 7148,7156,7157M 0
82370 7148,7156,7157M 0
84237 7341,7342,7343,7157M
85545 7341,7342,7343,7157M
85546 7148,7156,7157M 0
85548 7341,7342,7343,7157M
85553 7341,7342,7343,7157M
85555 7341,7342,7343,7157M
85559 7341,7342,7343,7157M
85560 7341,7342,7343,7157M
85561 7341,7342,7343,7157M
85564 7341,7342,7343,7157M
85566 7148,7156,7157M 0
85569 7341,7342,7343,7157M
85571 7341,7342,7343,7157M
85572 7148,7156,7157M 0
85573 7341,7342,7343,7157M
85574 7341,7342,7343,7157M
85575 7341,7342,7343,7157M
85576 7341,7342,7343,7157M
85584 7341,7342,7343,7157M
85592 7341,7342,7343,7157M
85594 7341,7342,7343,7157M
85641 7148,7156,7157M 0
86889 7341,7342,7343,7157M
86890 7148,7156,7157M 0
86893 7341,7342,7343,7157M
86895 7148,7156,7157M 0
86900 7148,7156,7157M 0
87888 7341,7342,7343,7157M
88905 7194M
88906 7194M
88907 7194M
88908 7194M
88909 7194M
88910 7194M
89988 7148,7156,7157M 0
90025 7341,7342,7343,7157M
91844 7156,7157,7148M 0
91848 7156,7157,7148M 0
91856 7156,7157,7148M 0
91864 7156,7157,7148M 0
91876 7341,7342,7343,7157M
91877 7341,7342,7343,7157M
91878 7341,7342,7343,7157M
91879 7341,7342,7343,7157M
91880 7341,7342,7343,7157M
91881 7341,7342,7343,7157M
91882 7341,7342,7343,7157M
91883 7341,7342,7343,7157M
91888 7156,7157,7148M 0
92172 7156,7157,7148M 0
92185 7341,7342,7343,7157M
92357 7156,7157,7148M 0
92358 7156,7157,7148M 0
92359 7156,7157,7148M 0
92360 7156,7157,7148M 0
92361 7156,7157,7148M 0
92362 7156,7157,7148M 0
92363 7156,7157,7148M 0
92364 7156,7157,7148M 0
92374 7156,7157,7148M 0
92382 7156,7157,7148M 0
92913 7194M
92914 7194M
92915 7194M
92916 7194M
92917 7194M
92918 7194M
92919 7194M
92920 7194M
92921 7194M
93283 7341,7342,7343,7157M
93285 7341,7342,7343,7157M
93287 7341,7342,7343,7157M
93289 7341,7342,7343,7157M
93291 7341,7342,7343,7157M
93753 7194M
93754 7194M
93755 7194M
93756 7194M
93757 7194M
93758 7194M
93759 7194M
93760 7194M
93761 7194M
93762 7194M
93763 7194M
93764 7194M
93765 7194M
93766 7194M
93767 7194M
93768 7194M
93769 7194M
93770 7194M
93771 7194M