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 (
    '29875', '29876', '29877', '29878', 
    '29879', '29880', '29881', '29882', 
    '29883', '29884', '29885', '29886', 
    '29887', '29888', '29889', '29890'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00100

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "260.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "51.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": 51,
            "rows_produced_per_join": 51,
            "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 ('29875','29876','29877','29878','29879','29880','29881','29882','29883','29884','29885','29886','29887','29888','29889','29890')))",
            "cost_info": {
              "read_cost": "77.21",
              "eval_cost": "10.20",
              "prefix_cost": "87.41",
              "data_read_per_join": "4K"
            },
            "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": 51,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "51.00",
              "eval_cost": "10.20",
              "prefix_cost": "148.61",
              "data_read_per_join": "39K"
            },
            "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": 51,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "51.00",
              "eval_cost": "10.20",
              "prefix_cost": "209.81",
              "data_read_per_join": "30K"
            },
            "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 61aoX5cyfcL._SL1500_.jpg 1500 750 N 47346 29885 product 49308 M 0 49308
0 41nbV0rmXZL.jpg 500 446 N 47347 29884 product 49309 M 0 49309
0 414fJTDHmAL.jpg 500 500 N 47348 29883 product 49310 M 0 49310
0 51aF9rVYY-L.jpg 500 372 N 47350 29882 product 49312 M 0 49312
0 31H72S-j1OL.jpg 500 393 N 47352 29881 product 49314 M 0 49314
0 41Kn71kBWSL.jpg 500 500 N 47353 29880 product 49315 M 0 49315
0 31UiGuGqjAL.jpg 500 444 N 47354 29879 product 49316 M 0 49316
0 3188QciE0aL.jpg 491 500 N 47355 29878 product 49317 M 0 49317
0 4131cmgLmJL.jpg 500 500 N 47357 29877 product 49319 M 0 49319
0 31bs2lQYYqL.jpg 500 458 N 47358 29876 product 49320 M 0 49320
0 51MqOGtIFJL.jpg 500 500 N 47360 29875 product 49322 M 0 49322
0 618_2UGzRyL._SL1000_.jpg 1000 1000 N 47433 29890 product 49394 M 0 49394
0 71yvRSSA1PL._SL1000_.jpg 1000 1000 N 47726 29889 product 49687 M 0 49687
0 41M0vf9hauL.jpg 500 496 N 47728 29888 product 49689 M 0 49689
0 41akfYg1T_L.jpg 500 485 N 47729 29887 product 49690 M 0 49690
0 2_n5b1-8m.jpg 640 626 N 82501 29886 product 84444 M 0 84444