SELECT 
  v.product_id, 
  v.feature_id, 
  v.value, 
  v.value_int, 
  v.variant_id, 
  f.feature_type, 
  fd.description, 
  fd.prefix, 
  fd.suffix, 
  vd.variant, 
  f.parent_id, 
  f.position, 
  gf.position as gposition 
FROM 
  jmj_product_features as f 
  LEFT JOIN jmj_product_features_values as v ON v.feature_id = f.feature_id 
  LEFT JOIN jmj_product_features_descriptions as fd ON fd.feature_id = v.feature_id 
  AND fd.lang_code = 'en' 
  LEFT JOIN jmj_product_feature_variants fv ON fv.variant_id = v.variant_id 
  LEFT JOIN jmj_product_feature_variant_descriptions as vd ON vd.variant_id = fv.variant_id 
  AND vd.lang_code = 'en' 
  LEFT JOIN jmj_product_features as gf ON gf.feature_id = f.parent_id 
  AND gf.feature_type = 'G' 
WHERE 
  f.status IN ('A') 
  AND v.product_id in (
    1678, 796, 797, 911, 912, 913, 914, 915, 
    1536, 1539
  ) 
  AND f.display_on_catalog = 'Y' 
  AND (
    f.categories_path = '' 
    OR FIND_IN_SET(3, f.categories_path) 
    OR FIND_IN_SET(19, f.categories_path) 
    OR FIND_IN_SET(21, f.categories_path)
  ) 
  AND IF(
    f.parent_id, 
    (
      SELECT 
        status 
      FROM 
        jmj_product_features as df 
      WHERE 
        df.feature_id = f.parent_id
    ), 
    'A'
  ) IN ('A') 
  AND (
    v.variant_id != 0 
    OR (
      f.feature_type != 'C' 
      AND v.value != ''
    ) 
    OR (f.feature_type = 'C') 
    OR v.value_int != ''
  ) 
  AND v.lang_code = 'en' 
ORDER BY 
  fd.description, 
  fv.position

Query time 0.01315

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "622.37"
    },
    "ordering_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "nested_loop": [
        {
          "table": {
            "table_name": "v",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "fl",
              "variant_id",
              "lang_code",
              "product_id",
              "fpl",
              "idx_product_feature_variant_id"
            ],
            "key": "idx_product_feature_variant_id",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 199,
            "rows_produced_per_join": 198,
            "filtered": "99.97",
            "index_condition": "(((`jmj_test`.`v`.`product_id` in (1678,796,797,911,912,913,914,915,1536,1539)) and (`jmj_test`.`v`.`lang_code` = 'en')) and (`jmj_test`.`v`.`feature_id` is not null))",
            "cost_info": {
              "read_cost": "248.82",
              "eval_cost": "39.79",
              "prefix_cost": "288.61",
              "data_read_per_join": "153K"
            },
            "used_columns": [
              "feature_id",
              "product_id",
              "variant_id",
              "value",
              "value_int",
              "lang_code"
            ]
          }
        },
        {
          "table": {
            "table_name": "f",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "status"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "feature_id"
            ],
            "key_length": "3",
            "ref": [
              "jmj_test.v.feature_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 19,
            "filtered": "9.95",
            "cost_info": {
              "read_cost": "198.94",
              "eval_cost": "3.96",
              "prefix_cost": "527.34",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "feature_id",
              "feature_type",
              "categories_path",
              "parent_id",
              "display_on_catalog",
              "status",
              "position"
            ],
            "attached_condition": "((`jmj_test`.`f`.`status` = 'A') and (`jmj_test`.`f`.`display_on_catalog` = 'Y') and ((`jmj_test`.`f`.`categories_path` = '') or find_in_set(3,`jmj_test`.`f`.`categories_path`) or find_in_set(19,`jmj_test`.`f`.`categories_path`) or find_in_set(21,`jmj_test`.`f`.`categories_path`)) and (if(`jmj_test`.`f`.`parent_id`,(/* select#2 */ select `jmj_test`.`df`.`status` from `jmj_test`.`jmj_product_features` `df` where (`jmj_test`.`df`.`feature_id` = `jmj_test`.`f`.`parent_id`)),'A') = 'A') and ((`jmj_test`.`v`.`variant_id` <> 0) or ((`jmj_test`.`f`.`feature_type` <> 'C') and (`jmj_test`.`v`.`value` <> '')) or (`jmj_test`.`f`.`feature_type` = 'C') or (`jmj_test`.`v`.`value_int` <> '')))",
            "attached_subqueries": [
              {
                "dependent": true,
                "cacheable": false,
                "query_block": {
                  "select_id": 2,
                  "cost_info": {
                    "query_cost": "1.20"
                  },
                  "table": {
                    "table_name": "df",
                    "access_type": "eq_ref",
                    "possible_keys": [
                      "PRIMARY"
                    ],
                    "key": "PRIMARY",
                    "used_key_parts": [
                      "feature_id"
                    ],
                    "key_length": "3",
                    "ref": [
                      "jmj_test.f.parent_id"
                    ],
                    "rows_examined_per_scan": 1,
                    "rows_produced_per_join": 1,
                    "filtered": "100.00",
                    "cost_info": {
                      "read_cost": "1.00",
                      "eval_cost": "0.20",
                      "prefix_cost": "1.20",
                      "data_read_per_join": "440"
                    },
                    "used_columns": [
                      "feature_id",
                      "status"
                    ]
                  }
                }
              }
            ]
          }
        },
        {
          "table": {
            "table_name": "fd",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "feature_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "jmj_test.v.feature_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.80",
              "eval_cost": "3.96",
              "prefix_cost": "551.10",
              "data_read_per_join": "45K"
            },
            "used_columns": [
              "feature_id",
              "description",
              "prefix",
              "suffix",
              "lang_code"
            ]
          }
        },
        {
          "table": {
            "table_name": "fv",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "variant_id"
            ],
            "key_length": "3",
            "ref": [
              "jmj_test.v.variant_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.80",
              "eval_cost": "3.96",
              "prefix_cost": "574.86",
              "data_read_per_join": "30K"
            },
            "used_columns": [
              "variant_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "vd",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "variant_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "jmj_test.fv.variant_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.80",
              "eval_cost": "3.96",
              "prefix_cost": "598.61",
              "data_read_per_join": "59K"
            },
            "used_columns": [
              "variant_id",
              "variant",
              "lang_code"
            ]
          }
        },
        {
          "table": {
            "table_name": "gf",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "feature_id"
            ],
            "key_length": "3",
            "ref": [
              "jmj_test.f.parent_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.80",
              "eval_cost": "3.96",
              "prefix_cost": "622.37",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "feature_id",
              "feature_type",
              "position"
            ],
            "attached_condition": "<if>(is_not_null_compl(gf), (`jmj_test`.`gf`.`feature_type` = 'G'), true)"
          }
        }
      ]
    }
  }
}

Result

product_id feature_id value value_int variant_id feature_type description prefix suffix variant parent_id position gposition
1678 280 2103 S Color black 0 5000
912 280 2103 S Color black 0 5000
796 280 2103 S Color black 0 5000
915 280 2103 S Color black 0 5000
911 280 2103 S Color black 0 5000
797 280 2103 S Color black 0 5000
913 280 2103 S Color black 0 5000
914 280 2103 S Color black 0 5000
796 280 2104 S Color dimgray 0 5000
915 280 2104 S Color dimgray 0 5000
913 280 2104 S Color dimgray 0 5000
914 280 2104 S Color dimgray 0 5000
1678 280 2106 S Color darkgray 0 5000
912 280 2106 S Color darkgray 0 5000
796 280 2107 S Color silver 0 5000
911 280 2108 S Color lightgrey 0 5000
912 280 2109 S Color gainsboro 0 5000
1678 280 2109 S Color gainsboro 0 5000
915 280 2109 S Color gainsboro 0 5000
913 280 2109 S Color gainsboro 0 5000
914 280 2111 S Color slategray 0 5000
1536 280 2111 S Color slategray 0 5000
914 280 2112 S Color midnightblue 0 5000
1539 280 2112 S Color midnightblue 0 5000
912 280 2112 S Color midnightblue 0 5000
911 280 2112 S Color midnightblue 0 5000
915 280 2112 S Color midnightblue 0 5000
796 280 2113 S Color navy 0 5000
797 280 2113 S Color navy 0 5000
915 280 2131 S Color lightcyan 0 5000
914 280 2134 S Color mediumaquamarine 0 5000
1536 280 2138 S Color darkturquoise 0 5000
1539 280 2138 S Color darkturquoise 0 5000
913 280 2143 S Color darkslategray 0 5000
912 280 2144 S Color seagreen 0 5000
796 280 2147 S Color olive 0 5000
915 280 2151 S Color darkgreen 0 5000
912 280 2151 S Color darkgreen 0 5000
911 280 2151 S Color darkgreen 0 5000
796 280 2153 S Color darkseagreen 0 5000
914 280 2154 S Color yellowgreen 0 5000
796 280 2164 S Color mintcream 0 5000
1536 280 2164 S Color mintcream 0 5000
1539 280 2164 S Color mintcream 0 5000
797 280 2164 S Color mintcream 0 5000
915 280 2175 S Color moccasin 0 5000
913 280 2176 S Color peachpuff 0 5000
912 280 2177 S Color navajowhite 0 5000
914 280 2177 S Color navajowhite 0 5000
797 280 2179 S Color khaki 0 5000
911 280 2179 S Color khaki 0 5000
796 280 2179 S Color khaki 0 5000
912 280 2180 S Color yellow 0 5000
913 280 2181 S Color gold 0 5000
913 280 2185 S Color darkkhaki 0 5000
911 280 2186 S Color goldenrod 0 5000
797 280 2190 S Color saddlebrown 0 5000
914 280 2190 S Color saddlebrown 0 5000
911 280 2190 S Color saddlebrown 0 5000
796 280 2190 S Color saddlebrown 0 5000
1536 280 2191 S Color chocolate 0 5000
1539 280 2191 S Color chocolate 0 5000
915 280 2207 S Color mistyrose 0 5000
1539 280 2218 S Color mediumorchid 0 5000
1536 280 2218 S Color mediumorchid 0 5000
915 280 2220 S Color mediumslateblue 0 5000
912 280 2221 S Color darkslateblue 0 5000
1678 280 3238 S Color Coffee 0 5000
1539 255 1688 M Size 28 0 4999
911 255 1692 M Size 36 0 4999
913 255 1691 M Size 34 0 4999
914 255 1690 M Size 32 0 4999
915 255 1692 M Size 36 0 4999
1536 255 1690 M Size 32 0 4999
796 255 1693 M Size 38 0 4999
797 255 1691 M Size 34 0 4999
1539 255 1689 M Size 30 0 4999
911 255 1693 M Size 38 0 4999
913 255 1692 M Size 36 0 4999
914 255 1691 M Size 34 0 4999
915 255 1693 M Size 38 0 4999
912 255 1689 M Size 30 0 4999
1678 255 1688 M Size 28 0 4999
797 255 1692 M Size 36 0 4999
796 255 1688 M Size 28 0 4999
1539 255 1690 M Size 32 0 4999
911 255 1694 M Size 40 0 4999
913 255 1693 M Size 38 0 4999
912 255 1690 M Size 32 0 4999
914 255 1692 M Size 36 0 4999
911 255 1688 M Size 28 0 4999
1678 255 1689 M Size 30 0 4999
915 255 1688 M Size 28 0 4999
797 255 1693 M Size 38 0 4999
796 255 1689 M Size 30 0 4999
913 255 1694 M Size 40 0 4999
912 255 1691 M Size 34 0 4999
914 255 1693 M Size 38 0 4999
911 255 1689 M Size 30 0 4999
913 255 1688 M Size 28 0 4999
1678 255 1690 M Size 32 0 4999
912 255 1688 M Size 28 0 4999
915 255 1689 M Size 30 0 4999
796 255 1690 M Size 32 0 4999
797 255 1688 M Size 28 0 4999
912 255 1692 M Size 36 0 4999
914 255 1694 M Size 40 0 4999
911 255 1690 M Size 32 0 4999
913 255 1689 M Size 30 0 4999
1678 255 1691 M Size 34 0 4999
914 255 1688 M Size 28 0 4999
915 255 1690 M Size 32 0 4999
1536 255 1688 M Size 28 0 4999
796 255 1691 M Size 34 0 4999
797 255 1689 M Size 30 0 4999
912 255 1693 M Size 38 0 4999
911 255 1691 M Size 34 0 4999
913 255 1690 M Size 32 0 4999
1678 255 1692 M Size 36 0 4999
914 255 1689 M Size 30 0 4999
915 255 1691 M Size 34 0 4999
1536 255 1689 M Size 30 0 4999
796 255 1692 M Size 36 0 4999
797 255 1690 M Size 32 0 4999
912 255 1694 M Size 40 0 4999