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.detailed_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 (
    '14578', '14579', '14580', '14581', 
    '14582', '14583', '14584', '14585', 
    '14586', '14587', '14588', '14589', 
    '14590', '14591', '14592', '14593'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00117

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "116.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "21.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": 21,
            "rows_produced_per_join": 21,
            "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 ('14578','14579','14580','14581','14582','14583','14584','14585','14586','14587','14588','14589','14590','14591','14592','14593')))",
            "cost_info": {
              "read_cost": "41.21",
              "eval_cost": "4.20",
              "prefix_cost": "45.41",
              "data_read_per_join": "1K"
            },
            "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.detailed_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 21,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "21.00",
              "eval_cost": "4.20",
              "prefix_cost": "70.61",
              "data_read_per_join": "16K"
            },
            "used_columns": [
              "image_id",
              "image_path",
              "image_x",
              "image_y",
              "is_high_res"
            ],
            "attached_condition": "<if>(is_not_null_compl(q_images), (`portal`.`q_images_links`.`detailed_id` = `portal`.`q_images`.`image_id`), true)"
          }
        },
        {
          "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": 21,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "21.00",
              "eval_cost": "4.20",
              "prefix_cost": "95.81",
              "data_read_per_join": "12K"
            },
            "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 41QofX-PmKL.jpg 500 401 N 28486 14578 product 30448 M 0 30448
0 41fSS1G-0FL.jpg 500 500 N 28487 14579 product 30449 M 0 30449
0 31HvVyvCunL.jpg 500 500 N 28488 14580 product 30450 M 0 30450
0 41kgunq4HSL.jpg 377 500 N 28489 14581 product 30451 M 0 30451
0 41zy40JTv8L.jpg 500 500 N 28490 14582 product 30452 M 0 30452
0 41_yi8n2aGL.jpg 500 375 N 28491 14583 product 30453 M 0 30453
0 41JHkgTYtmL.jpg 500 500 N 28492 14584 product 30454 M 0 30454
0 41wmSuaOkrL.jpg 500 500 N 28493 14585 product 30455 M 0 30455
0 41yFCNToCpL.jpg 500 500 N 28494 14586 product 30456 M 0 30456
0 413w74neArL.jpg 500 500 N 28495 14587 product 30457 M 0 30457
0 51MC30hbCKL.jpg 500 500 N 28496 14588 product 30458 M 0 30458
0 41_0kWklNjL.jpg 500 500 N 28497 14589 product 30459 M 0 30459
0 31j7enEuBpL.jpg 500 469 N 28498 14590 product 30460 M 0 30460
0 41hWfSbL5oL.jpg 500 500 N 28499 14591 product 30461 M 0 30461
0 51IgBUVWFpL.jpg 500 500 N 28500 14592 product 30462 M 0 30462
0 51_0RVDLHwL.jpg 500 500 N 28501 14593 product 30463 M 0 30463