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 = 'A' 
  AND q_images_links.object_id IN (
    '2899', '2900', '2901', '2902', '2903', 
    '2904', '2905', '2906', '2907', '2908', 
    '2909', '2910', '2911', '2912', '2913', 
    '2914'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00105

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` = 'A') and (`portal`.`q_images_links`.`object_id` in ('2899','2900','2901','2902','2903','2904','2905','2906','2907','2908','2909','2910','2911','2912','2913','2914')))",
            "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 ba795224815488f9b2b545cfd686ee51e795f0be_234cea4545ae74f5b8064790aeb9e1ad8564398c_Amouage_Beloved_Perfume_For_Women_EDP_100ml_7016663600-600x600.jpg 600 600 N 82379 2899 product 84322 A 1 84322
0 536931_fragrancex_EBAY_US.jpg 500 500 N 82380 2900 product 84323 A 1 84323
0 s-l1000_o8zj-zj.jpg 800 800 N 82381 2901 product 84324 A 1 84324
0 14777122206-7-700.jpg 700 700 N 82382 2902 product 84325 A 1 84325
0 701666316923_1.jpg 530 663 N 82383 2903 product 84326 A 1 84326
0 amouage-figment-eau-de-parfum-for-men-100-ml___7_1_.jpg 657 777 N 82384 2904 product 84327 A 1 84327
0 item_XL_39879868_157809679.jpg 600 556 N 82396 2905 product 84339 A 1 84339
0 701666340966.jpg 500 500 N 82397 2906 product 84340 A 1 84340
0 s-l1000_sy5y-di.jpg 605 463 N 82398 2907 product 84341 A 1 84341
0 701666129097-amouage-gold-women-set-edp-body-lotion-100-ml-300-ml-lana-parfumerija-niche-zagreb.jpg 600 600 N 82399 2908 product 84342 A 1 84342
0 0e237a8c7b205f9eb10be0994bb9020abadd6b48_8239df5cd32c250cecede31d75da207f7b21e782_Amouage_Honour_Perfume_For_Men_EDP_100ml_701666314929_-600x600.jpg 600 600 N 82400 2909 product 84343 A 1 84343
0 s-l1000_aqvg-uw.jpg 940 750 N 82401 2910 product 84344 A 1 84344
0 542f360e99064fb11b00013f.jpg 412 477 N 82402 2911 product 84345 A 1 84345
0 Amouage-Journey-Woman-Eau-De-Parfum-100ml-701666317128-30.jpg 500 489 N 82349 2912 product 84292 A 2 84292