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.parent_id IN (655) 
  AND categories.id_path LIKE '645/655/%' 
  AND categories.storefront_id IN (0, 1) 
  AND categories.deleted_at IS NULL 
  AND categories.category_id IN(
    2, 
    3, 
    4, 
    8, 
    12, 
    14, 
    17, 
    20, 
    22, 
    23, 
    36, 
    38, 
    41, 
    45, 
    46, 
    47, 
    48, 
    54, 
    56, 
    59, 
    71, 
    74, 
    75, 
    76, 
    78, 
    85, 
    86, 
    87, 
    105, 
    106, 
    107, 
    109, 
    110, 
    112, 
    114, 
    115, 
    117, 
    118, 
    123, 
    125, 
    126, 
    319, 
    128, 
    147, 
    178, 
    183, 
    189, 
    190, 
    191, 
    195, 
    202, 
    22751, 
    203, 
    206, 
    207, 
    208, 
    100, 
    209, 
    212, 
    222, 
    224, 
    236, 
    240, 
    51, 
    250, 
    268, 
    269, 
    275, 
    91, 
    276, 
    311, 
    321, 
    329, 
    349, 
    357, 
    358, 
    364, 
    375, 
    645, 
    646, 
    647, 
    648, 
    653, 
    658, 
    661, 
    662, 
    663, 
    666, 
    667, 
    669, 
    670, 
    675, 
    676, 
    678, 
    679, 
    680, 
    683, 
    681, 
    682, 
    684, 
    688, 
    689, 
    690, 
    691, 
    692, 
    655, 
    694, 
    693, 
    695, 
    698, 
    699, 
    700, 
    701, 
    702, 
    707, 
    708, 
    709, 
    964, 
    1190, 
    5, 
    2185, 
    2566, 
    6636, 
    6638, 
    22740, 
    7651, 
    11334, 
    11343, 
    11601, 
    12848, 
    22892
  ) 
  AND categories.company_id = 0 
ORDER BY 
  categories.is_trash asc, 
  categories.position asc, 
  category_descriptions.category asc

Query time 0.00361

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "1.23"
    },
    "ordering_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "nested_loop": [
        {
          "table": {
            "table_name": "categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "parent",
              "id_path",
              "p_category_id",
              "index_categories_on_deleted_at"
            ],
            "key": "id_path",
            "used_key_parts": [
              "id_path"
            ],
            "key_length": "770",
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "2.50",
            "index_condition": "((`goimagine`.`categories`.`id_path` like '645/655/%') and (`goimagine`.`categories`.`category_id` in (2,3,4,8,12,14,17,20,22,23,36,38,41,45,46,47,48,54,56,59,71,74,75,76,78,85,86,87,105,106,107,109,110,112,114,115,117,118,123,125,126,319,128,147,178,183,189,190,191,195,202,22751,203,206,207,208,100,209,212,222,224,236,240,51,250,268,269,275,91,276,311,321,329,349,357,358,364,375,645,646,647,648,653,658,661,662,663,666,667,669,670,675,676,678,679,680,683,681,682,684,688,689,690,691,692,655,694,693,695,698,699,700,701,702,707,708,709,964,1190,5,2185,2566,6636,6638,22740,7651,11334,11343,11601,12848,22892)))",
            "cost_info": {
              "read_cost": "1.15",
              "eval_cost": "0.01",
              "prefix_cost": "1.16",
              "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` = 0) and (`goimagine`.`categories`.`parent_id` = 655) 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))"
          }
        },
        {
          "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.02",
              "eval_cost": "0.01",
              "prefix_cost": "1.18",
              "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": "1.23",
              "data_read_per_join": "86"
            },
            "used_columns": [
              "name",
              "object_id",
              "company_id",
              "type",
              "dispatch",
              "path",
              "lang_code"
            ]
          }
        }
      ]
    }
  }
}