SELECT 
  p.product_id 
FROM 
  tconnect_products as p 
  LEFT JOIN tconnect_products_categories as pc ON p.product_id = pc.product_id 
  LEFT JOIN tconnect_categories as c ON c.category_id = pc.category_id 
WHERE 
  1 
  AND pc.category_id IN (241, 242, 243, 244) 
  AND p.status = 'A' 
  AND c.status = 0 
  AND p.parent_product_id = 0

Query time 0.00133

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.06221889,
    "nested_loop": [
      {
        "table": {
          "table_name": "pc",
          "access_type": "range",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "loops": 1,
          "rows": 17,
          "cost": 0.0056533,
          "filtered": 100,
          "attached_condition": "pc.category_id in (241,242,243,244)",
          "using_index": true
        }
      },
      {
        "table": {
          "table_name": "p",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "status", "idx_parent_product_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["tconnect.pc.product_id"],
          "loops": 17,
          "rows": 1,
          "cost": 0.029598242,
          "filtered": 91.04938507,
          "attached_condition": "p.parent_product_id = 0 and p.`status` = 'A'"
        }
      },
      {
        "table": {
          "table_name": "c",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["tconnect.pc.category_id"],
          "loops": 15.47839506,
          "rows": 1,
          "cost": 0.026967348,
          "filtered": 100,
          "attached_condition": "c.`status` = 0"
        }
      }
    ]
  }
}

Result

product_id
97
100
103
104
108
110
111
112
114
116
118
119
121
123