SELECT 
  jmj_banners.banner_id, 
  jmj_banners.type, 
  jmj_banners.target, 
  jmj_banners.status, 
  jmj_banners.timestamp, 
  jmj_banner_descriptions.banner, 
  jmj_banner_descriptions.description, 
  jmj_banner_descriptions.url, 
  jmj_banner_images.banner_image_id, 
  jmj_banners.group_id 
FROM 
  jmj_banners 
  LEFT JOIN jmj_banner_descriptions ON jmj_banner_descriptions.banner_id = jmj_banners.banner_id 
  AND jmj_banner_descriptions.lang_code = 'en' 
  LEFT JOIN jmj_banner_images ON jmj_banner_images.banner_id = jmj_banners.banner_id 
  AND jmj_banner_images.lang_code = 'en' 
WHERE 
  1 
  AND (
    jmj_banners.type != 'G' 
    OR jmj_banner_images.banner_image_id IS NOT NULL
  ) 
  AND jmj_banners.banner_id IN (25, 26, 27) 
  AND jmj_banners.status = 'A' 
  AND IF (
    jmj_banners.type not like 'abt__ut2', 
    'available', 
    IF (
      jmj_banners.type like 'abt__ut2' 
      AND (
        jmj_banners.abt__ut2_use_avail_period = 'N' 
        OR (
          jmj_banners.abt__ut2_use_avail_period = 'Y' 
          AND (
            jmj_banners.abt__ut2_avail_from = 0 
            OR jmj_banners.abt__ut2_avail_from <= 1765681655
          ) 
          AND (
            jmj_banners.abt__ut2_avail_till = 0 
            OR jmj_banners.abt__ut2_avail_till >= 1765681655
          )
        )
      ), 
      'available', 
      'not available'
    )
  ) = 'available' 
  AND (
    jmj_banners.abt__ut2_usergroup_ids = '' 
    OR FIND_IN_SET(
      0, jmj_banners.abt__ut2_usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, jmj_banners.abt__ut2_usergroup_ids
    )
  ) 
ORDER BY 
  jmj_banner_descriptions.banner asc

Query time 0.00273

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "8.76"
    },
    "ordering_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.64"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "jmj_banners",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "status"
            ],
            "key": "status",
            "used_key_parts": [
              "status"
            ],
            "key_length": "3",
            "ref": [
              "const"
            ],
            "rows_examined_per_scan": 6,
            "rows_produced_per_join": 1,
            "filtered": "27.27",
            "cost_info": {
              "read_cost": "2.00",
              "eval_cost": "0.33",
              "prefix_cost": "3.20",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "banner_id",
              "status",
              "type",
              "target",
              "timestamp",
              "abt__ut2_use_avail_period",
              "abt__ut2_avail_from",
              "abt__ut2_avail_till",
              "abt__ut2_usergroup_ids",
              "group_id"
            ],
            "attached_condition": "((`jmj_test`.`jmj_banners`.`banner_id` in (25,26,27)) and (if((not((`jmj_test`.`jmj_banners`.`type` like 'abt__ut2'))),'available',if(((`jmj_test`.`jmj_banners`.`type` like 'abt__ut2') and ((`jmj_test`.`jmj_banners`.`abt__ut2_use_avail_period` = 'N') or ((`jmj_test`.`jmj_banners`.`abt__ut2_use_avail_period` = 'Y') and ((`jmj_test`.`jmj_banners`.`abt__ut2_avail_from` = 0) or (`jmj_test`.`jmj_banners`.`abt__ut2_avail_from` <= 1765681655)) and ((`jmj_test`.`jmj_banners`.`abt__ut2_avail_till` = 0) or (`jmj_test`.`jmj_banners`.`abt__ut2_avail_till` >= 1765681655))))),'available','not available')) = 'available') and ((`jmj_test`.`jmj_banners`.`abt__ut2_usergroup_ids` = '') or find_in_set(0,`jmj_test`.`jmj_banners`.`abt__ut2_usergroup_ids`) or find_in_set(1,`jmj_test`.`jmj_banners`.`abt__ut2_usergroup_ids`)))"
          }
        },
        {
          "table": {
            "table_name": "jmj_banner_descriptions",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "banner_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "jmj_test.jmj_banners.banner_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.64",
              "eval_cost": "0.33",
              "prefix_cost": "5.16",
              "data_read_per_join": "11K"
            },
            "used_columns": [
              "banner_id",
              "banner",
              "url",
              "description",
              "lang_code"
            ]
          }
        },
        {
          "table": {
            "table_name": "jmj_banner_images",
            "access_type": "eq_ref",
            "possible_keys": [
              "banner"
            ],
            "key": "banner",
            "used_key_parts": [
              "banner_id",
              "lang_code"
            ],
            "key_length": "9",
            "ref": [
              "jmj_test.jmj_banners.banner_id",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.64",
              "eval_cost": "0.33",
              "prefix_cost": "7.13",
              "data_read_per_join": "26"
            },
            "used_columns": [
              "banner_image_id",
              "banner_id",
              "lang_code"
            ],
            "attached_condition": "<if>(found_match(jmj_banner_images), ((`jmj_test`.`jmj_banners`.`type` <> 'G') or (`jmj_test`.`jmj_banner_images`.`banner_image_id` is not null)), true)"
          }
        }
      ]
    }
  }
}

Result

banner_id type target status timestamp banner description url banner_image_id group_id
25 abt__ut2 B A 1624386600 MAIN-1 240 0
26 abt__ut2 B A 1624386600 MAIN-2 258 0
27 abt__ut2 B A 1624386600 MAIN-3 260 0