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 
  cscart_product_features as f 
  LEFT JOIN cscart_product_features_values as v ON v.feature_id = f.feature_id 
  LEFT JOIN cscart_product_features_descriptions as fd ON fd.feature_id = v.feature_id 
  AND fd.lang_code = 'ru' 
  LEFT JOIN cscart_product_feature_variants fv ON fv.variant_id = v.variant_id 
  LEFT JOIN cscart_product_feature_variant_descriptions as vd ON vd.variant_id = fv.variant_id 
  AND vd.lang_code = 'ru' 
  LEFT JOIN cscart_product_features as gf ON gf.feature_id = f.parent_id 
  AND gf.feature_type = 'G' 
  INNER JOIN cscart_ult_objects_sharing ON (
    cscart_ult_objects_sharing.share_object_id = f.feature_id 
    AND cscart_ult_objects_sharing.share_company_id = 1 
    AND cscart_ult_objects_sharing.share_object_type = 'product_features'
  ) 
WHERE 
  f.status IN ('A') 
  AND v.product_id in (
    9954, 9955, 9957, 9958, 9959, 9960, 9961, 
    9962, 9963, 9964, 9965, 9966, 9967, 
    9968, 9969
  ) 
  AND f.display_on_catalog = 'Y' 
  AND (
    f.categories_path = '' 
    OR FIND_IN_SET(265, f.categories_path) 
    OR FIND_IN_SET(280, f.categories_path) 
    OR FIND_IN_SET(1692, f.categories_path) 
    OR FIND_IN_SET(1718, f.categories_path)
  ) 
  AND IF(
    f.parent_id, 
    (
      SELECT 
        status 
      FROM 
        cscart_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 = 'ru' 
ORDER BY 
  fd.description, 
  fv.position

Query time 0.00187

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "fd.description, fv.position",
      "temporary_table": {
        "table": {
          "table_name": "v",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "variant_id",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "product_id",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "rows": 282,
          "filtered": 42.7018013,
          "index_condition": "v.product_id in (9954,9955,9957,9958,9959,9960,9961,9962,9963,9964,9965,9966,9967,9968,9969)",
          "attached_condition": "v.lang_code = 'ru'"
        },
        "table": {
          "table_name": "f",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["feature_id"],
          "ref": ["noframes_angrybeaver.v.feature_id"],
          "rows": 1,
          "filtered": 97.5,
          "attached_condition": "f.`status` = 'A' and f.display_on_catalog = 'Y' and (f.categories_path = '' or find_in_set(265,f.categories_path) or find_in_set(280,f.categories_path) or find_in_set(1692,f.categories_path) or find_in_set(1718,f.categories_path)) and if(f.parent_id,(subquery#2),'A') = 'A' and (v.variant_id <> 0 or f.feature_type <> 'C' and v.`value` <> '' or f.feature_type = 'C' or v.value_int <> '')"
        },
        "table": {
          "table_name": "fd",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["feature_id", "lang_code"],
          "ref": ["noframes_angrybeaver.v.feature_id", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(fd.lang_code = 'ru')"
        },
        "table": {
          "table_name": "fv",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["variant_id"],
          "ref": ["noframes_angrybeaver.v.variant_id"],
          "rows": 1,
          "filtered": 100
        },
        "table": {
          "table_name": "vd",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["variant_id", "lang_code"],
          "ref": ["noframes_angrybeaver.fv.variant_id", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(vd.lang_code = 'ru' and trigcond(fv.variant_id is not null))"
        },
        "table": {
          "table_name": "gf",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["feature_id"],
          "ref": ["noframes_angrybeaver.f.parent_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(gf.feature_type = 'G')"
        },
        "table": {
          "table_name": "cscart_ult_objects_sharing",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "159",
          "used_key_parts": [
            "share_object_id",
            "share_company_id",
            "share_object_type"
          ],
          "ref": ["noframes_angrybeaver.v.feature_id", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "cscart_ult_objects_sharing.share_object_id = v.feature_id and cscart_ult_objects_sharing.share_object_type = 'product_features'",
          "using_index": true
        },
        "subqueries": [
          {
            "expression_cache": {
              "state": "uninitialized",
              "query_block": {
                "select_id": 2,
                "table": {
                  "table_name": "df",
                  "access_type": "eq_ref",
                  "possible_keys": ["PRIMARY"],
                  "key": "PRIMARY",
                  "key_length": "3",
                  "used_key_parts": ["feature_id"],
                  "ref": ["noframes_angrybeaver.f.parent_id"],
                  "rows": 1,
                  "filtered": 100
                }
              }
            }
          }
        ]
      }
    }
  }
}

Result

product_id feature_id value value_int variant_id feature_type description prefix suffix variant parent_id position gposition
9961 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9959 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9957 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9954 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9968 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9966 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9964 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9962 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9960 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9969 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9958 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9955 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9967 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9965 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9963 550 60% Полиэстер, 35% полиуретан, 5% хлопок 0 T Состав 0 0
9967 558 1299 S Тип ткани Искусственный нубук 0 0
9965 558 1299 S Тип ткани Искусственный нубук 0 0
9963 558 1299 S Тип ткани Искусственный нубук 0 0
9961 558 1299 S Тип ткани Искусственный нубук 0 0
9959 558 1299 S Тип ткани Искусственный нубук 0 0
9957 558 1299 S Тип ткани Искусственный нубук 0 0
9954 558 1299 S Тип ткани Искусственный нубук 0 0
9968 558 1299 S Тип ткани Искусственный нубук 0 0
9966 558 1299 S Тип ткани Искусственный нубук 0 0
9964 558 1299 S Тип ткани Искусственный нубук 0 0
9962 558 1299 S Тип ткани Искусственный нубук 0 0
9960 558 1299 S Тип ткани Искусственный нубук 0 0
9969 558 1299 S Тип ткани Искусственный нубук 0 0
9958 558 1299 S Тип ткани Искусственный нубук 0 0
9955 558 1299 S Тип ткани Искусственный нубук 0 0
9955 561 1331 S Ширина полотна 140±2 см 0 0
9967 561 1331 S Ширина полотна 140±2 см 0 0
9965 561 1331 S Ширина полотна 140±2 см 0 0
9963 561 1331 S Ширина полотна 140±2 см 0 0
9961 561 1331 S Ширина полотна 140±2 см 0 0
9959 561 1331 S Ширина полотна 140±2 см 0 0
9957 561 1331 S Ширина полотна 140±2 см 0 0
9954 561 1331 S Ширина полотна 140±2 см 0 0
9966 561 1331 S Ширина полотна 140±2 см 0 0
9964 561 1331 S Ширина полотна 140±2 см 0 0
9962 561 1331 S Ширина полотна 140±2 см 0 0
9960 561 1331 S Ширина полотна 140±2 см 0 0
9969 561 1331 S Ширина полотна 140±2 см 0 0
9958 561 1331 S Ширина полотна 140±2 см 0 0