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 (
    '14658', '14659', '14660', '14661', 
    '14662', '14663', '14664', '14665', 
    '14666', '14667', '14668', '14669', 
    '14670', '14671', '14672', '14673'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00119

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "107.21"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "19.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": 19,
            "rows_produced_per_join": 19,
            "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 ('14658','14659','14660','14661','14662','14663','14664','14665','14666','14667','14668','14669','14670','14671','14672','14673')))",
            "cost_info": {
              "read_cost": "38.81",
              "eval_cost": "3.80",
              "prefix_cost": "42.61",
              "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": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.00",
              "eval_cost": "3.80",
              "prefix_cost": "65.41",
              "data_read_per_join": "14K"
            },
            "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": 19,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "19.00",
              "eval_cost": "3.80",
              "prefix_cost": "88.21",
              "data_read_per_join": "11K"
            },
            "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 51tAsqy3JoL.jpg 500 500 N 28572 14664 product 30534 M 0 30534
0 51yl4Qcv5LL.jpg 500 500 N 28573 14665 product 30535 M 0 30535
0 31eEEyhQ6mL.jpg 500 333 N 28574 14666 product 30536 M 0 30536
0 41em1oRaWIL.jpg 500 333 N 28575 14667 product 30537 M 0 30537
0 31wMOBQC5CL.jpg 500 404 N 28576 14668 product 30538 M 0 30538
0 41uFH4z6ukL.jpg 500 500 N 28577 14669 product 30539 M 0 30539
0 41QzM6TagJL.jpg 500 333 N 28579 14671 product 30541 M 0 30541
0 51cFv0nCvtL.jpg 500 500 N 28580 14672 product 30542 M 0 30542
0 418kJJg6qPL.jpg 1024 683 N 28581 14673 product 30543 M 0 30543
0 30481_gear4_victoria_coral_iphone-6-7_1.png 1200 1200 N 34852 14658 product 36814 M 0 36814
0 30623_gear4_victoria_geo-gold_iphone-6-7_1.png 1200 1200 N 34853 14659 product 36815 M 0 36815
0 30625_gear4_battersea_black_iphone-6-7_1.png 1200 1200 N 34854 14660 product 36816 M 0 36816
0 29874_gear4_wembley_black_iphone-6plus-7plus_1.png 1200 1200 N 34855 14661 product 36817 M 0 36817
0 30626_gear4_victoria_coral_iphone-6plus-7plus_1.png 1200 1200 N 34857 14662 product 36819 M 1 36819
0 30627_gear4_victoria_geo-gold_iphone-6plus-7plus_1.png 1200 1200 N 34858 14663 product 36820 M 1 36820