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 = 264 
WHERE 
  cscart_products_categories.product_id IN (
    484, 309, 691, 693, 310, 311, 559, 475, 
    313, 588, 593, 314, 645, 644, 499, 703, 
    316, 595, 533, 511, 534, 517, 515, 516
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00055

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "cscart_products_categories",
      "access_type": "range",
      "possible_keys": ["PRIMARY", "pt"],
      "key": "pt",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 43,
      "filtered": 100,
      "index_condition": "cscart_products_categories.product_id in (484,309,691,693,310,311,559,475,313,588,593,314,645,644,499,703,316,595,533,511,534,517,515,516)"
    },
    "table": {
      "table_name": "cscart_categories",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["category_id"],
      "ref": ["markins_test.cscart_products_categories.category_id"],
      "rows": 1,
      "filtered": 100,
      "attached_condition": "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')"
    },
    "table": {
      "table_name": "product_position_source",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY", "pt"],
      "key": "PRIMARY",
      "key_length": "6",
      "used_key_parts": ["category_id", "product_id"],
      "ref": ["const", "markins_test.cscart_products_categories.product_id"],
      "rows": 1,
      "filtered": 100
    }
  }
}

Result

product_id category_ids position
309 264M 430
310 257,264M 440
311 264,257M 450
313 257,264M 480
314 257,264M 490
316 257,264M 500
475 257,264M 460
484 257,264M 405
499 257,264M 495
511 264M 522
515 257,264M 540
516 257,264M 541
517 264M 532
533 264M 521
534 264M 531
559 264M 450
588 264,257M 485
593 257,264M 486
595 257,264M 502
644 257,264M 493
645 264M 492
691 264M 437
693 264M 438
703 264M 496