SELECT 
  tmall_ab__is_attributes.*, 
  is_descriptions.*, 
  TRIM(
    CONCAT(
      is_descriptions.prefix, is_descriptions.text, 
      is_descriptions.suffix
    )
  ) AS value 
FROM 
  tmall_ab__is_attributes 
  LEFT JOIN tmall_ab__is_attribute_descriptions as is_descriptions ON tmall_ab__is_attributes.is_id = is_descriptions.is_id 
  AND lang_code = 'en' 
WHERE 
  `object_type` IN ('C', 'P', 'F') 
  AND `storefront_id` = 1

Query time 0.00907

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.011835245,
    "nested_loop": [
      {
        "table": {
          "table_name": "tmall_ab__is_attributes",
          "access_type": "ref",
          "possible_keys": ["storefront_id"],
          "key": "storefront_id",
          "key_length": "4",
          "used_key_parts": ["storefront_id"],
          "ref": ["const"],
          "loops": 1,
          "rows": 9,
          "cost": 0.002966085,
          "filtered": 100,
          "attached_condition": "tmall_ab__is_attributes.object_type in ('C','P','F')",
          "using_index": true
        }
      },
      {
        "table": {
          "table_name": "is_descriptions",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["is_id", "lang_code"],
          "ref": ["tmall.tmall_ab__is_attributes.is_id", "const"],
          "loops": 9,
          "rows": 1,
          "cost": 0.00886916,
          "filtered": 100,
          "attached_condition": "trigcond(is_descriptions.lang_code = 'en')"
        }
      }
    ]
  }
}

Result

is_id storefront_id attribute_type object_type lang_code prefix text suffix value
2 1 A C en [text] [text]
7 1 A F en [text] [text]
5 1 A P en [text][image_num] [text][image_num]
4 1 N C en [text] [text]
9 1 N F en [text] [text]
1 1 N P en , [n] image , [n] image
3 1 T C en [text] [text]
8 1 T F en [text] [text]
6 1 T P en [text][image_num] [text][image_num]