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 (
    '29714', '29715', '29716', '29717', 
    '29718', '29719', '29720', '29721', 
    '29722', '29723', '29724', '29725', 
    '29726', '29727', '29728', '29729'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00111

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "188.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 ('29714','29715','29716','29717','29718','29719','29720','29721','29722','29723','29724','29725','29726','29727','29728','29729')))",
            "cost_info": {
              "read_cost": "59.21",
              "eval_cost": "7.20",
              "prefix_cost": "66.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.detailed_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": "109.61",
              "data_read_per_join": "27K"
            },
            "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": 36,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "36.00",
              "eval_cost": "7.20",
              "prefix_cost": "152.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 417d94nDmJL.jpg 494 500 N 47244 29728 product 49206 M 0 49206
0 31xkRIItuFL.jpg 482 500 N 47245 29727 product 49207 M 0 49207
0 41vOwfjXL7L.jpg 469 500 N 47247 29726 product 49209 M 0 49209
0 41bS3dx5ONL._SL1000_.jpg 500 1000 N 47248 29725 product 49210 M 0 49210
0 61Z2NYHqZ2L._SL1405_.jpg 1247 1405 N 47249 29724 product 49211 M 0 49211
0 31QhOaHfxeL.jpg 500 472 N 47251 29723 product 49213 M 0 49213
0 51dphpZDMFL.jpg 500 500 N 47252 29722 product 49214 M 0 49214
0 31E2E6mPABL.jpg 491 500 N 47255 29721 product 49217 M 0 49217
0 51nX0r8xpOL._SL1476_.jpg 1476 1220 N 47257 29720 product 49219 M 0 49219
0 51CSMeJ7cCL._SL1001_.jpg 1001 1001 N 47259 29719 product 49221 M 0 49221
0 41zCtv4FjsL.jpg 500 439 N 47261 29718 product 49223 M 0 49223
0 41TjiWF0weL._SX450_.jpg 450 320 N 47668 29717 product 49629 M 0 49629
0 41752zyGnNL.jpg 500 474 N 47669 29716 product 49630 M 0 49630
0 31np98RkCvL.jpg 500 443 N 47670 29715 product 49631 M 0 49631
0 41Yn-KxnloL.jpg 500 494 N 47672 29714 product 49633 M 0 49633
0 paint_brush_web.jpg 640 626 N 52592 29729 product 54553 M 0 54553