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 (
    '31154', '31155', '31156', '31157', 
    '31158', '10387', '10388', '10389', 
    '10390', '10391', '10392', '10393', 
    '10395', '10396', '10397', '10398'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00116

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "164.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "31.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": 31,
            "rows_produced_per_join": 31,
            "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 ('31154','31155','31156','31157','31158','10387','10388','10389','10390','10391','10392','10393','10395','10396','10397','10398')))",
            "cost_info": {
              "read_cost": "53.21",
              "eval_cost": "6.20",
              "prefix_cost": "59.41",
              "data_read_per_join": "2K"
            },
            "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": 31,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "31.00",
              "eval_cost": "6.20",
              "prefix_cost": "96.61",
              "data_read_per_join": "23K"
            },
            "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": 31,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "31.00",
              "eval_cost": "6.20",
              "prefix_cost": "133.81",
              "data_read_per_join": "18K"
            },
            "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 61y2V5LB-PL._SX342_.jpg 342 342 N 21251 10387 product 23213 M 0 23213
0 61CgJx9g04L._SX522_.jpg 522 522 N 21256 10388 product 23218 M 0 23218
0 item_XL_39812580_157245894.jpg 600 337 N 21259 10389 product 23221 M 0 23221
0 xiaomi-human-sensor-507x405.png 507 405 N 21261 10390 product 23223 M 0 23223
0 20181129182139_31538.jpg 500 500 N 21264 10391 product 23226 M 0 23226
0 2_33.jpg 1100 1100 N 21267 10392 product 23229 M 0 23229
0 612rG8HLi1L._SY355_.jpg 355 355 N 21270 10393 product 23232 M 0 23232
0 41qfIGMbuPL._SX342_.jpg 342 342 N 21299 10395 product 23261 M 0 23261
0 41iQ33JAALL._SX342_.jpg 342 342 N 21301 10396 product 23263 M 0 23263
0 61CgJx9g04L._SL1000_.jpg 1000 1000 N 21305 10397 product 23267 M 0 23267
0 61yEbHYPNCL._SL1354_.jpg 1354 1354 N 21309 10398 product 23271 M 0 23271
0 61ppf0xnA5L._AC_UL436_SEARCH212385_.jpg 397 436 N 49761 31154 product 51722 M 0 51722
0 518-FHG2FPL.jpg 500 500 N 49762 31155 product 51723 M 0 51723
0 download__2__wwqm-i7.jpg 300 300 N 49763 31156 product 51724 M 0 51724
0 71MOMgMbWXL._AC_UL436_SEARCH212385_.jpg 436 292 N 49764 31157 product 51725 M 0 51725
0 61jJwAgW6mL._AC_UL436_SEARCH212385_.jpg 436 436 N 49765 31158 product 51726 M 0 51726