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 (
    20090, 20091, 20092, 20093, 20094, 18661, 
    18662, 19131, 18664, 20724, 20725, 
    20728, 20955, 20956, 20957, 20958, 
    20959, 22277, 20971, 21078, 21102, 
    20972, 20973, 20974
  ) 
  AND f.display_on_catalog = 'Y' 
  AND (
    f.categories_path = '' 
    OR FIND_IN_SET(502, f.categories_path) 
    OR FIND_IN_SET(1092, f.categories_path) 
    OR FIND_IN_SET(1075, 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.00397

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "fd.description, fv.position",
      "temporary_table": {
        "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": "product_id",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "rows": 261,
              "filtered": 32.53408813,
              "index_condition": "v.product_id in (20090,20091,20092,20093,20094,18661,18662,19131,18664,20724,20725,20728,20955,20956,20957,20958,20959,22277,20971,21078,21102,20972,20973,20974)",
              "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": ["lillyshop_lillyshop.v.feature_id"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "f.`status` = 'A' and f.display_on_catalog = 'Y' and (f.categories_path = '' or find_in_set(502,f.categories_path) or find_in_set(1092,f.categories_path) or find_in_set(1075,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": ["lillyshop_lillyshop.v.feature_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(fd.lang_code = 'ru')"
            }
          },
          {
            "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": ["lillyshop_lillyshop.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
            }
          },
          {
            "table": {
              "table_name": "fv",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["variant_id"],
              "ref": ["lillyshop_lillyshop.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": ["lillyshop_lillyshop.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": ["lillyshop_lillyshop.f.parent_id"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(gf.feature_type = 'G')"
            }
          }
        ],
        "subqueries": [
          {
            "expression_cache": {
              "state": "uninitialized",
              "query_block": {
                "select_id": 2,
                "nested_loop": [
                  {
                    "table": {
                      "table_name": "df",
                      "access_type": "eq_ref",
                      "possible_keys": ["PRIMARY"],
                      "key": "PRIMARY",
                      "key_length": "3",
                      "used_key_parts": ["feature_id"],
                      "ref": ["lillyshop_lillyshop.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
21102 69 4754 E Бренд DNKA 0 0
20091 69 4754 E Бренд DNKA 0 0
20974 69 4754 E Бренд DNKA 0 0
20972 69 4754 E Бренд DNKA 0 0
20959 69 4754 E Бренд DNKA 0 0
19131 69 4754 E Бренд DNKA 0 0
20957 69 4754 E Бренд DNKA 0 0
20955 69 4754 E Бренд DNKA 0 0
18662 69 4754 E Бренд DNKA 0 0
20725 69 4754 E Бренд DNKA 0 0
20094 69 4754 E Бренд DNKA 0 0
22277 69 4754 E Бренд DNKA 0 0
20092 69 4754 E Бренд DNKA 0 0
21078 69 4754 E Бренд DNKA 0 0
20090 69 4754 E Бренд DNKA 0 0
20973 69 4754 E Бренд DNKA 0 0
20971 69 4754 E Бренд DNKA 0 0
20958 69 4754 E Бренд DNKA 0 0
18664 69 4754 E Бренд DNKA 0 0
20956 69 4754 E Бренд DNKA 0 0
20728 69 4754 E Бренд DNKA 0 0
18661 69 4754 E Бренд DNKA 0 0
20724 69 4754 E Бренд DNKA 0 0
20093 69 4754 E Бренд DNKA 0 0
20955 70 1870 M Страна производитель Украина 0 0
18662 70 1870 M Страна производитель Украина 0 0
20725 70 1870 M Страна производитель Украина 0 0
20094 70 1870 M Страна производитель Украина 0 0
22277 70 1870 M Страна производитель Украина 0 0
20092 70 1870 M Страна производитель Украина 0 0
21078 70 1870 M Страна производитель Украина 0 0
20973 70 1870 M Страна производитель Украина 0 0
20971 70 1870 M Страна производитель Украина 0 0
20090 70 1870 M Страна производитель Украина 0 0
20958 70 1870 M Страна производитель Украина 0 0
18664 70 1870 M Страна производитель Украина 0 0
20956 70 1870 M Страна производитель Украина 0 0
20728 70 1870 M Страна производитель Украина 0 0
18661 70 1870 M Страна производитель Украина 0 0
20724 70 1870 M Страна производитель Украина 0 0
20093 70 1870 M Страна производитель Украина 0 0
21102 70 1870 M Страна производитель Украина 0 0
20091 70 1870 M Страна производитель Украина 0 0
20974 70 1870 M Страна производитель Украина 0 0
20972 70 1870 M Страна производитель Украина 0 0
20959 70 1870 M Страна производитель Украина 0 0
19131 70 1870 M Страна производитель Украина 0 0
20957 70 1870 M Страна производитель Украина 0 0
20959 84 3087 S Цвет Оранжевый 0 0
19131 84 3096 S Цвет Бежевый 0 0
20957 84 4983 S Цвет Малиновый 0 0
20955 84 3093 S Цвет Синий 0 0
18662 84 3099 S Цвет Голубой 0 0
20725 84 3100 S Цвет Желтый 0 0
20094 84 3099 S Цвет Голубой 0 0
22277 84 3104 S Цвет Красный 0 0
20092 84 3102 S Цвет Золотой 0 0
21078 84 4983 S Цвет Малиновый 0 0
20973 84 3093 S Цвет Синий 0 0
20971 84 3094 S Цвет Фиолетовый 0 0
20958 84 4983 S Цвет Малиновый 0 0
18664 84 3089 S Цвет Розовый 0 0
20956 84 3100 S Цвет Желтый 0 0
20728 84 3095 S Цвет Белый 0 0
18661 84 3085 S Цвет Молочный 0 0
20724 84 5029 S Цвет Лавандовый 0 0
20093 84 3096 S Цвет Бежевый 0 0
21102 84 3087 S Цвет Оранжевый 0 0
20091 84 3089 S Цвет Розовый 0 0
20974 84 3097 S Цвет Бирюзовый 0 0
20972 84 3100 S Цвет Желтый 0 0