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 (
    '2698', '2699', '2700', '2701', '2675', 
    '2676', '2677', '2678', '2679', '2680', 
    '2681', '2682', '2683', '2684', '2685', 
    '2686'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00136

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 ('2698','2699','2700','2701','2675','2676','2677','2678','2679','2680','2681','2682','2683','2684','2685','2686')))",
            "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 African-Leather-by-Memo-for-Unisex-Eau-de-Parfum-75-ml_13416761_e7c5d86334d5cf1daffa7e998a19b13e.jpg 593 575 N 6011 2675 product 7982 M 0 7982
0 memo_african_leather_edp_75ml-560x350.jpg 560 350 N 6013 2676 product 7984 M 0 7984
0 item_XL_30775211_111117004.jpg 600 578 N 6014 2677 product 7985 M 0 7985
0 3700458611601.jpg 530 663 N 6016 2678 product 7987 M 0 7987
0 memcflu_aedp10_01.jpg 350 350 N 6017 2679 product 7988 M 0 7988
0 3700458611946.jpg 530 663 N 6018 2680 product 7989 M 0 7989
0 3700458611281.jpg 770 770 N 6020 2681 product 7991 M 0 7991
0 s-l300_triv-82.jpg 300 300 N 6021 2682 product 7992 M 0 7992
0 item_XL_26978243_56662905.jpg 500 500 N 6022 2683 product 7993 M 0 7993
0 memo_italian_leather__89452_big.png 550 550 N 6023 2684 product 7994 M 0 7994
0 mem008_memoparis_luxor-oud_1560x1960-jq2aw.jpg 680 854 N 6024 2685 product 7995 M 0 7995
0 quartier-latin-memo-paris.jpg 470 609 N 6025 2686 product 7996 M 0 7996
0 544517ccc22ac1c662000048.jpg 826 552 N 6046 2698 product 8017 M 0 8017
0 Chloe-Love-Story-Eau-de-Toilette-50-ml-for-Woman-3614220724324.jpg 500 500 N 6047 2699 product 8018 M 0 8018
0 s-l1000.jpg 500 507 N 6049 2701 product 8020 M 0 8020
0 41yz3lG7TWL._AC__kkal-d8.jpg 476 324 N 81604 2700 product 83547 M 1 83547