SELECT 
  vi_banners.banner_id, 
  vi_banners.type, 
  vi_banners.target, 
  vi_banners.status, 
  vi_banners.timestamp, 
  vi_banner_descriptions.banner, 
  vi_banner_descriptions.description, 
  vi_banner_descriptions.url, 
  vi_banner_images.banner_image_id, 
  vi_banners.company_id, 
  vi_banners.group_id 
FROM 
  vi_banners 
  LEFT JOIN vi_banner_descriptions ON vi_banner_descriptions.banner_id = vi_banners.banner_id 
  AND vi_banner_descriptions.lang_code = 'en' 
  LEFT JOIN vi_banner_images ON vi_banner_images.banner_id = vi_banners.banner_id 
  AND vi_banner_images.lang_code = 'en' 
  INNER JOIN vi_ult_objects_sharing ON (
    vi_ult_objects_sharing.share_object_id = vi_banners.banner_id 
    AND vi_ult_objects_sharing.share_company_id = 1 
    AND vi_ult_objects_sharing.share_object_type = 'banners'
  ) 
WHERE 
  1 
  AND (
    vi_banners.type != 'G' 
    OR vi_banner_images.banner_image_id IS NOT NULL
  ) 
  AND vi_banners.banner_id IN (27) 
  AND vi_banners.status = 'A' 
  AND IF (
    vi_banners.type not like 'abt__ut2', 
    'available', 
    IF (
      vi_banners.type like 'abt__ut2' 
      AND (
        vi_banners.abt__ut2_use_avail_period = 'N' 
        OR (
          vi_banners.abt__ut2_use_avail_period = 'Y' 
          AND (
            vi_banners.abt__ut2_avail_from = 0 
            OR vi_banners.abt__ut2_avail_from <= 1776412851
          ) 
          AND (
            vi_banners.abt__ut2_avail_till = 0 
            OR vi_banners.abt__ut2_avail_till >= 1776412851
          )
        )
      ), 
      'available', 
      'not available'
    )
  ) = 'available' 
  AND (
    vi_banners.abt__ut2_usergroup_ids = '' 
    OR FIND_IN_SET(
      0, vi_banners.abt__ut2_usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, vi_banners.abt__ut2_usergroup_ids
    )
  ) 
ORDER BY 
  vi_banner_descriptions.banner asc

Query time 0.00052

JSON explain

{
  "query_block": {
    "select_id": 1,
    "const_condition": "1",
    "nested_loop": [
      {
        "table": {
          "table_name": "vi_banners",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["banner_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "vi_banner_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "9",
          "used_key_parts": ["banner_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "vi_banner_images",
          "access_type": "const",
          "possible_keys": ["banner"],
          "key": "banner",
          "key_length": "9",
          "used_key_parts": ["banner_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 0,
          "filtered": 0,
          "unique_row_not_found": true
        }
      },
      {
        "table": {
          "table_name": "vi_ult_objects_sharing",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "159",
          "used_key_parts": [
            "share_object_id",
            "share_company_id",
            "share_object_type"
          ],
          "ref": ["const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "using_index": true
        }
      }
    ]
  }
}

Result

banner_id type target status timestamp banner description url banner_image_id company_id group_id
27 abt__ut2 B A 0 Banner cat. (Video games) 1 0