SELECT 
  tconnect_tags.tag_id, 
  tconnect_tag_links.object_id, 
  tconnect_tag_links.object_type, 
  tconnect_tags.tag, 
  tconnect_tags.status, 
  COUNT(tconnect_tag_links.tag_id) as popularity 
FROM 
  tconnect_tags 
  LEFT JOIN tconnect_tag_links ON tconnect_tag_links.tag_id = tconnect_tags.tag_id 
WHERE 
  1 
  AND tconnect_tag_links.object_type = 'P' 
  AND tconnect_tags.status IN ('A') 
  AND tconnect_tag_links.object_id = 228 
GROUP BY 
  tconnect_tags.tag_id 
ORDER BY 
  tconnect_tags.tag asc

Query time 0.00363

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.002862638,
    "filesort": {
      "sort_key": "tconnect_tags.tag",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "tconnect_tag_links",
              "access_type": "ref",
              "possible_keys": ["PRIMARY", "tag_id", "ids"],
              "key": "PRIMARY",
              "key_length": "6",
              "used_key_parts": ["object_type", "object_id"],
              "ref": ["const", "const"],
              "loops": 1,
              "rows": 1,
              "cost": 0.000928812,
              "filtered": 100,
              "attached_condition": "tconnect_tag_links.object_type <=> 'P' and tconnect_tag_links.object_id <=> 228 and tconnect_tag_links.object_type = 'P'",
              "using_index": true
            }
          },
          {
            "table": {
              "table_name": "tconnect_tags",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["tag_id"],
              "ref": ["tconnect.tconnect_tag_links.tag_id"],
              "loops": 1,
              "rows": 1,
              "cost": 0.001933826,
              "filtered": 100,
              "attached_condition": "tconnect_tags.`status` = 'A'"
            }
          }
        ]
      }
    }
  }
}