SELECT 
  categories.category_id, 
  categories.parent_id, 
  categories.id_path, 
  category_descriptions.category, 
  categories.position, 
  categories.status, 
  categories.company_id, 
  categories.storefront_id, 
  seo_names.name as seo_name, 
  seo_names.path as seo_path, 
  category_descriptions.mega_m_category_banner_url, 
  category_descriptions.mega_m_category_svg_icon 
FROM 
  categories 
  LEFT JOIN category_descriptions ON categories.category_id = category_descriptions.category_id 
  AND category_descriptions.lang_code = 'en' 
  LEFT JOIN seo_names ON seo_names.object_id = categories.category_id 
  AND seo_names.type = 'c' 
  AND seo_names.dispatch = '' 
  AND seo_names.lang_code = 'en' 
WHERE 
  1 = 1 
  AND (
    categories.usergroup_ids = '' 
    OR FIND_IN_SET(0, categories.usergroup_ids) 
    OR FIND_IN_SET(1, categories.usergroup_ids)
  ) 
  AND categories.status IN ('A') 
  AND categories.storefront_id IN (0, 1) 
  AND categories.deleted_at IS NULL 
  AND categories.category_id IN(
    2, 17, 18, 5, 27, 3, 85, 147, 148, 149, 153, 
    170, 173, 384, 1575, 1602, 1603, 1604, 
    1605, 1606, 1607, 1608, 1609, 1610, 
    1611, 1612, 2883, 4871, 10395, 21099
  ) 
  AND categories.company_id = 980 
ORDER BY 
  categories.is_trash asc, 
  categories.position asc, 
  category_descriptions.category asc

Query time 0.00303

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "13.60"
    },
    "ordering_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "nested_loop": [
        {
          "table": {
            "table_name": "categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id",
              "index_categories_on_deleted_at"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 30,
            "rows_produced_per_join": 0,
            "filtered": "0.17",
            "cost_info": {
              "read_cost": "13.53",
              "eval_cost": "0.01",
              "prefix_cost": "13.54",
              "data_read_per_join": "134"
            },
            "used_columns": [
              "category_id",
              "parent_id",
              "id_path",
              "company_id",
              "usergroup_ids",
              "status",
              "position",
              "is_trash",
              "deleted_at",
              "storefront_id"
            ],
            "attached_condition": "((`goimagine`.`categories`.`company_id` = 980) and ((`goimagine`.`categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`goimagine`.`categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`goimagine`.`categories`.`usergroup_ids`))) and (`goimagine`.`categories`.`status` = 'A') and (`goimagine`.`categories`.`storefront_id` in (0,1)) and (`goimagine`.`categories`.`deleted_at` is null) and (`goimagine`.`categories`.`category_id` in (2,17,18,5,27,3,85,147,148,149,153,170,173,384,1575,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,2883,4871,10395,21099)))"
          }
        },
        {
          "table": {
            "table_name": "category_descriptions",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "goimagine.categories.category_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.01",
              "eval_cost": "0.01",
              "prefix_cost": "13.56",
              "data_read_per_join": "232"
            },
            "used_columns": [
              "category_id",
              "lang_code",
              "category",
              "mega_m_category_banner_url",
              "mega_m_category_svg_icon"
            ]
          }
        },
        {
          "table": {
            "table_name": "seo_names",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "dispatch"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "object_id",
              "type",
              "dispatch",
              "lang_code"
            ],
            "key_length": "206",
            "ref": [
              "goimagine.categories.category_id",
              "const",
              "const",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.04",
              "eval_cost": "0.01",
              "prefix_cost": "13.60",
              "data_read_per_join": "86"
            },
            "used_columns": [
              "name",
              "object_id",
              "company_id",
              "type",
              "dispatch",
              "path",
              "lang_code"
            ]
          }
        }
      ]
    }
  }
}

Result

category_id parent_id id_path category position status company_id storefront_id seo_name seo_path mega_m_category_banner_url mega_m_category_svg_icon
1611 1602 1602/1611 Dangle Drop Earrings 0 A 980 0 dangle-drop-earrings 1602
1609 1602 1602/1609 Hoop Earrings 0 A 980 0 hoop-earrings 1602
21099 0 21099 New Arrivals 0 A 980 0 just-added
1608 0 1608 On Sale 0 A 980 0 on-sale-en
1612 1602 1602/1612 Polymer Clay Earrings 0 A 980 0 polymer-clay-earrings 1602
2883 1575 1575/2883 Polymer Clay Statement Earrings 0 A 980 0 polymer-clay-statement-earrings 1575
1604 1575 1575/1604 Polymer Clay Studs 0 A 980 0 polymer-clay-studs 1575
1605 0 1605 Bracelets 2 A 980 0 bracelets-en-8
1602 0 1602 Earrings 4 A 980 0 earrings-en-16
1606 0 1606 Hoop Earrings 5 A 980 0 hoop-earrings
10395 0 10395 Clip On Earrings 6 A 980 0 clip-on-earrings
1610 0 1610 Dangle Drop Earrings 7 A 980 0 dangle-drop-earrings
1575 0 1575 Polymer Clay Earrings 8 A 980 0 polymer-clay-earrings
1603 0 1603 Polymer Clay Stud Earrings 9 A 980 0 polymer-clay-stud-earrings
4871 0 4871 Polymer Clay Hair Clips / Barrettes 10 A 980 0 polymer-clay-hair-clips-barrettes