SELECT 
  q_images.*, 
  q_images_links.*, 
  q_common_descriptions.description AS alt, 
  q_images.image_id AS images_image_id 
FROM 
  q_images_links 
  LEFT JOIN q_images ON q_images_links.image_id = q_images.image_id 
  LEFT JOIN q_common_descriptions ON q_common_descriptions.object_id = q_images.image_id 
  AND q_common_descriptions.object_holder = 'images' 
  AND q_common_descriptions.lang_code = 'en' 
WHERE 
  q_images_links.object_type = 'product' 
  AND q_images_links.type = 'M' 
  AND q_images_links.object_id IN (
    '13489', '13494', '13495', '13500', 
    '13501', '13502', '13504', '13506', 
    '14432', '14448', '14459', '14460', 
    '14461', '14462', '14464', '14465', 
    '14466', '14467', '14468', '14469', 
    '14470', '14471', '14474', '14498', 
    '14512', '14513', '14514', '14518', 
    '14519', '14520'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00154

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "202.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "36.00"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "q_images_links",
            "access_type": "range",
            "possible_keys": [
              "object_id"
            ],
            "key": "object_id",
            "used_key_parts": [
              "object_id",
              "object_type",
              "type"
            ],
            "key_length": "81",
            "rows_examined_per_scan": 36,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "index_condition": "((`portal`.`q_images_links`.`object_type` = 'product') and (`portal`.`q_images_links`.`type` = 'M') and (`portal`.`q_images_links`.`object_id` in ('13489','13494','13495','13500','13501','13502','13504','13506','14432','14448','14459','14460','14461','14462','14464','14465','14466','14467','14468','14469','14470','14471','14474','14498','14512','14513','14514','14518','14519','14520')))",
            "cost_info": {
              "read_cost": "73.21",
              "eval_cost": "7.20",
              "prefix_cost": "80.41",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "pair_id",
              "object_id",
              "object_type",
              "image_id",
              "detailed_id",
              "type",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "q_images",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "image_id"
            ],
            "key_length": "4",
            "ref": [
              "portal.q_images_links.image_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "36.00",
              "eval_cost": "7.20",
              "prefix_cost": "123.61",
              "data_read_per_join": "27K"
            },
            "used_columns": [
              "image_id",
              "image_path",
              "image_x",
              "image_y",
              "is_high_res"
            ]
          }
        },
        {
          "table": {
            "table_name": "q_common_descriptions",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "object_id",
              "lang_code",
              "object_holder"
            ],
            "key_length": "107",
            "ref": [
              "portal.q_images.image_id",
              "const",
              "const"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 36,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "36.00",
              "eval_cost": "7.20",
              "prefix_cost": "166.81",
              "data_read_per_join": "21K"
            },
            "used_columns": [
              "object_id",
              "description",
              "lang_code",
              "object_holder"
            ],
            "attached_condition": "<if>(is_not_null_compl(q_common_descriptions), (`portal`.`q_common_descriptions`.`object_id` = `portal`.`q_images`.`image_id`), true)"
          }
        }
      ]
    }
  }
}

Result

image_id image_path image_x image_y is_high_res pair_id object_id object_type detailed_id type position alt images_image_id
0 27383 13489 product 29345 M 0
0 27388 13494 product 29350 M 0
0 27389 13495 product 29351 M 0
0 27394 13500 product 29356 M 0
0 27395 13501 product 29357 M 0
0 27396 13502 product 29358 M 0
0 27398 13504 product 29360 M 0
0 27400 13506 product 29362 M 0
0 28340 14432 product 30302 M 0
0 28356 14448 product 30318 M 0
0 28367 14459 product 30329 M 0
0 28368 14460 product 30330 M 0
0 28369 14461 product 30331 M 0
0 28370 14462 product 30332 M 0
0 28372 14464 product 30334 M 0
0 28373 14465 product 30335 M 0
0 28374 14466 product 30336 M 0
0 28375 14467 product 30337 M 0
0 28376 14468 product 30338 M 0
0 28377 14469 product 30339 M 0
0 28378 14470 product 30340 M 0
0 28379 14471 product 30341 M 0
0 28382 14474 product 30344 M 0
0 28406 14498 product 30368 M 0
0 28420 14512 product 30382 M 0
0 28421 14513 product 30383 M 0
0 28422 14514 product 30384 M 0
0 28426 14518 product 30388 M 0
0 28427 14519 product 30389 M 0
0 28428 14520 product 30390 M 0