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 (
    12, 325, 17, 148, 180, 187, 232, 230, 231, 
    18, 16, 4, 5, 23, 24, 170, 1, 22, 149, 227, 
    78, 79, 190, 189, 162, 159, 158, 245, 
    238, 239, 242, 243, 241, 240, 214, 217, 
    218, 207, 59, 58, 60, 199, 198, 94, 96, 
    201, 114, 192, 136, 130, 128, 126, 131, 
    177, 186, 185, 179, 11, 172, 134, 135, 
    195, 233, 168, 167, 169, 42, 39, 40, 205, 
    37, 152, 160, 74, 73, 71, 75, 72, 108, 
    237, 191, 235, 70, 122, 115, 156, 90, 
    175, 196, 43, 104, 76, 129, 127, 121, 
    103
  )

Query time 0.00097

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "104.71"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "f",
          "access_type": "ALL",
          "possible_keys": [
            "idx_group_id"
          ],
          "rows_examined_per_scan": 13,
          "rows_produced_per_join": 13,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "2.11",
            "eval_cost": "2.60",
            "prefix_cost": "4.71",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "feature_id",
            "purpose",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "g",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "id"
          ],
          "key_length": "3",
          "ref": [
            "atulecarter_atul_demo1.f.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 13,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "13.00",
            "eval_cost": "2.60",
            "prefix_cost": "20.31",
            "data_read_per_join": "5K"
          },
          "used_columns": [
            "id",
            "code"
          ]
        }
      },
      {
        "table": {
          "table_name": "p",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "atulecarter_atul_demo1.f.group_id"
          ],
          "rows_examined_per_scan": 7,
          "rows_produced_per_join": 103,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "63.70",
            "eval_cost": "20.70",
            "prefix_cost": "104.71",
            "data_read_per_join": "1K"
          },
          "used_columns": [
            "product_id",
            "parent_product_id",
            "group_id"
          ],
          "attached_condition": "(`atulecarter_atul_demo1`.`p`.`product_id` in (12,325,17,148,180,187,232,230,231,18,16,4,5,23,24,170,1,22,149,227,78,79,190,189,162,159,158,245,238,239,242,243,241,240,214,217,218,207,59,58,60,199,198,94,96,201,114,192,136,130,128,126,131,177,186,185,179,11,172,134,135,195,233,168,167,169,42,39,40,205,37,152,160,74,73,71,75,72,108,237,191,235,70,122,115,156,90,175,196,43,104,76,129,127,121,103))"
        }
      }
    ]
  }
}

Result

feature_id purpose product_id parent_product_id id code
549 group_catalog_item 12 0 16 PV-7C513A520
549 group_catalog_item 325 0 16 PV-7C513A520
548 group_variation_catalog_item 12 0 16 PV-7C513A520
548 group_variation_catalog_item 325 0 16 PV-7C513A520