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 (
    '2988', '2992', '2997', '3002', '3007', 
    '3012', '2802', '2807', '2808', '2384', 
    '2385', '2386', '2388', '2389', '2390', 
    '2391'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00138

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "92.81"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "16.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": 16,
            "rows_produced_per_join": 16,
            "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 ('2988','2992','2997','3002','3007','3012','2802','2807','2808','2384','2385','2386','2388','2389','2390','2391')))",
            "cost_info": {
              "read_cost": "35.21",
              "eval_cost": "3.20",
              "prefix_cost": "38.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": 16,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "16.00",
              "eval_cost": "3.20",
              "prefix_cost": "57.61",
              "data_read_per_join": "12K"
            },
            "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": 16,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "16.00",
              "eval_cost": "3.20",
              "prefix_cost": "76.81",
              "data_read_per_join": "9K"
            },
            "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 dress0172-1.jpg 900 1200 N 5585 2384 product 7556 M 0 7556
0 dress0227-1.jpg 900 1200 N 5590 2385 product 7561 M 0 7561
0 dress0213-1.jpg 900 1200 N 5593 2386 product 7564 M 0 7564
0 dress0241-1_mvwi-j1.jpg 1200 1200 N 5600 2388 product 7571 M 0 7571
0 dress0219-1.jpg 750 750 N 5603 2389 product 7574 M 0 7574
0 dress0135-1.jpg 1024 1024 N 5606 2390 product 7577 M 0 7577
0 dress0111-1.jpg 600 600 N 5609 2391 product 7580 M 0 7580
0 6049-1.jpg 1500 2250 N 6201 2802 product 8169 M 0 8169
0 6603-1.JPG 800 1200 N 8061 2992 product 10026 M 0 10026
0 6103-1.JPG 800 1200 N 8201 3012 product 10166 M 0 10166
0 100414-5.jpg 900 1200 N 8230 2807 product 10195 M 0 10195
0 6077-brown-1.png 900 1200 N 8232 2808 product 10197 M 0 10197
0 6124-1.JPG 800 1200 N 8171 3007 product 10136 M 51 10136
0 6174-1.JPG 800 1200 N 8101 2997 product 10066 M 61 10066
0 6137-1.JPG 800 1200 N 8136 3002 product 10101 M 61 10101