SELECT 
  pfv.feature_id, 
  pfv.product_id, 
  pfv.variant_id, 
  gp.group_id 
FROM 
  cscart_product_features_values AS pfv 
  INNER JOIN cscart_product_variation_group_products AS gp ON pfv.product_id = gp.product_id 
  INNER JOIN cscart_product_variation_group_features AS gpf ON gpf.group_id = gp.group_id 
  AND gpf.feature_id = pfv.feature_id 
WHERE 
  pfv.lang_code = 'vi' 
  AND gp.group_id IN (15831, 15823, 15822, 15832)

Query time 0.00304

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "gp",
          "access_type": "range",
          "possible_keys": ["PRIMARY", "idx_group_id"],
          "key": "idx_group_id",
          "key_length": "3",
          "used_key_parts": ["group_id"],
          "rows": 39,
          "filtered": 100,
          "index_condition": "gp.group_id in (15831,15823,15822,15832)"
        }
      },
      {
        "table": {
          "table_name": "gpf",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "idx_group_id"],
          "key": "idx_group_id",
          "key_length": "3",
          "used_key_parts": ["group_id"],
          "ref": ["dev_db.gp.group_id"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "pfv",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "idx_product_feature_variant_id",
          "key_length": "12",
          "used_key_parts": ["product_id", "feature_id", "lang_code"],
          "ref": ["dev_db.gp.product_id", "dev_db.gpf.feature_id", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "pfv.lang_code = 'vi'",
          "using_index": true
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
23703 36469 82231 15822
23703 36549 82240 15822
23703 36550 82241 15822
23703 36551 82242 15822
23703 36552 82243 15822
23703 36553 82244 15822
23703 36554 82245 15822
23703 36555 82246 15822
23703 36556 82247 15822
23703 36557 82248 15822
23703 36558 82249 15822
23703 36559 82250 15822
23703 36560 82232 15822
23703 36561 82233 15822
23703 36562 82234 15822
23703 36563 82235 15822
23703 36564 82236 15822
23703 36565 82237 15822
23703 36566 82238 15822
23703 36567 82239 15822
23704 36477 82251 15823
23704 36568 82252 15823
23704 36569 82253 15823
23708 36464 82260 15831
23708 36577 82261 15831
23709 36466 82262 15832
23709 36578 82271 15832
23709 36579 82272 15832
23709 36580 82273 15832
23709 36581 82274 15832
23709 36582 82275 15832
23709 36583 82276 15832
23709 36584 82277 15832
23709 36585 82278 15832
23709 36586 82279 15832
23709 36587 82280 15832
23709 36588 82281 15832
23709 36589 82263 15832
23709 36590 82264 15832
23709 36591 82265 15832
23709 36592 82266 15832
23709 36593 82267 15832
23709 36594 82268 15832
23709 36595 82269 15832
23709 36596 82270 15832