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 (
    '2547', '2548', '2549', '2550', '2551', 
    '2552', '2553', '2554', '2555', '2556', 
    '2557', '2558', '2559', '2560', '2561', 
    '2562'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00145

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 ('2547','2548','2549','2550','2551','2552','2553','2554','2555','2556','2557','2558','2559','2560','2561','2562')))",
            "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 YSLLaNuitDeLHommeMen6-7oz-2.jpg 600 600 N 5866 2547 product 7837 M 0 7837
0 white.jpg 400 400 N 5868 2548 product 7839 M 0 7839
0 YSL90004.jpg 500 358 N 5870 2549 product 7841 M 0 7841
0 item_XL_11692032_16889039.jpg 425 485 N 5872 2550 product 7843 M 0 7843
0 yves-saint-laurent-magnificent-gold-oriental-collection-edp-75ml-746978_00.jpg 473 473 N 5874 2551 product 7845 M 0 7845
0 3365440690691.jpg 600 600 N 5875 2552 product 7846 M 0 7846
0 item_XL_39114451_153109354.jpg 600 600 N 5877 2553 product 7848 M 0 7848
0 mon-paris-ysl-edt-spray-30-oz-90-ml-w-mopts3a.jpg 400 400 N 5879 2554 product 7850 M 0 7850
0 YSL31100.jpg 500 500 N 5880 2555 product 7851 M 0 7851
0 YSL50221.jpg 500 500 N 5882 2556 product 7853 M 0 7853
0 YSL969477.jpg 410 500 N 5884 2557 product 7855 M 0 7855
0 CSMP16542.JPG 800 800 N 5886 2558 product 7857 M 0 7857
0 19301481706.jpg 350 350 N 5887 2559 product 7858 M 0 7858
0 YSL566577.jpg 500 500 N 5888 2560 product 7859 M 0 7859
0 yves-saint-laurent-paris-toaletni-voda-s-rozprasovacem.jpg 610 650 N 5889 2561 product 7860 M 0 7860
0 YSL-RIVE-GAUCHE-thegem-blog-timeline-large.png 720 720 N 5890 2562 product 7861 M 0 7861