SELECT 
  f.feature_id, 
  f.purpose, 
  p.product_id, 
  p.parent_product_id, 
  g.id, 
  g.code 
FROM 
  cscart_product_variation_group_features AS f 
  INNER JOIN cscart_product_variation_groups AS g ON f.group_id = g.id 
  INNER JOIN cscart_product_variation_group_products AS p ON f.group_id = p.group_id 
WHERE 
  p.product_id IN (
    394196, 114756, 81595, 265003, 149755, 
    264991, 262367, 286468, 387085, 265175, 
    80451, 262401, 387100, 387101, 277549, 
    286472, 277552, 265004, 262376, 265174, 
    277550, 286478, 277548, 387099, 149820, 
    81523, 286465, 277547, 387097, 387102, 
    149750, 286467, 339527, 264986, 286475, 
    391790, 387103, 286479, 359819, 286473, 
    286469, 391787, 391791, 31800, 286466, 
    435216, 286470, 391792, 286471, 277551, 
    391739, 286474, 286, 391740, 262374, 
    381645, 359629, 264695, 262391, 535, 
    359628, 381653, 391793, 381646, 381643, 
    391795, 392213, 225059, 387091, 391794, 
    387043, 264694, 262397, 264699, 381647, 
    391788, 391797, 381644, 339513, 391796, 
    282476, 151903, 381642, 81654, 387038, 
    339519, 81637, 282477, 264697, 264700, 
    339510, 339508, 265002, 339518, 339713, 
    339505, 265235, 339525, 81590, 262396
  )

Query time 0.00157

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "430.18"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "p",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "product_id"
          ],
          "key_length": "3",
          "rows_examined_per_scan": 100,
          "rows_produced_per_join": 100,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "120.12",
            "eval_cost": "20.00",
            "prefix_cost": "140.12",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ],
          "attached_condition": "(`webmarco`.`p`.`product_id` in (394196,114756,81595,265003,149755,264991,262367,286468,387085,265175,80451,262401,387100,387101,277549,286472,277552,265004,262376,265174,277550,286478,277548,387099,149820,81523,286465,277547,387097,387102,149750,286467,339527,264986,286475,391790,387103,286479,359819,286473,286469,391787,391791,31800,286466,435216,286470,391792,286471,277551,391739,286474,286,391740,262374,381645,359629,264695,262391,535,359628,381653,391793,381646,381643,391795,392213,225059,387091,391794,387043,264694,262397,264699,381647,391788,391797,381644,339513,391796,282476,151903,381642,81654,387038,339519,81637,282477,264697,264700,339510,339508,265002,339518,339713,339505,265235,339525,81590,262396))"
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "webmarco.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 100,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "100.00",
            "eval_cost": "20.00",
            "prefix_cost": "260.12",
            "data_read_per_join": "39K"
          },
          "used_columns": [
            "id",
            "code"
          ]
        }
      },
      {
        "table": {
          "table_name": "f",
          "access_type": "ref",
          "possible_keys": [
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "webmarco.p.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 141,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "141.72",
            "eval_cost": "28.34",
            "prefix_cost": "430.18",
            "data_read_per_join": "14K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      }
    ]
  }
}

Result

feature_id purpose product_id parent_product_id id code
697 group_variation_catalog_item 225059 0 6232 PV-A9CC06226
932 group_variation_catalog_item 262367 0 6688 PV-C290DF171
897 group_variation_catalog_item 262376 0 6690 PV-9E6C2009E
897 group_variation_catalog_item 262391 0 6693 PV-85DFF46F5
548 group_variation_catalog_item 394196 0 9124 product-test
1126 group_variation_catalog_item 394196 0 9124 product-test