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.image_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 (
    '32447', '32448', '32450', '32451', 
    '32452', '32453', '32454', '32455', 
    '32456', '32457', '32458', '32460', 
    '32461', '32462', '32463', '32465', 
    '32466', '32467', '32468', '32469', 
    '32471', '32472', '32473', '32474', 
    '32475', '32476', '32478', '32479', 
    '32480', '32481', '32482', '32483'
  ) 
ORDER BY 
  q_images_links.position, 
  q_images_links.pair_id

Query time 0.00210

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "185.61"
    },
    "ordering_operation": {
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "32.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": 32,
            "rows_produced_per_join": 32,
            "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 ('32447','32448','32450','32451','32452','32453','32454','32455','32456','32457','32458','32460','32461','32462','32463','32465','32466','32467','32468','32469','32471','32472','32473','32474','32475','32476','32478','32479','32480','32481','32482','32483')))",
            "cost_info": {
              "read_cost": "70.41",
              "eval_cost": "6.40",
              "prefix_cost": "76.81",
              "data_read_per_join": "3K"
            },
            "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.image_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 32,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "32.00",
              "eval_cost": "6.40",
              "prefix_cost": "115.21",
              "data_read_per_join": "24K"
            },
            "used_columns": [
              "image_id",
              "image_path",
              "image_x",
              "image_y",
              "is_high_res"
            ]
          }
        },
        {
          "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": 32,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "32.00",
              "eval_cost": "6.40",
              "prefix_cost": "153.61",
              "data_read_per_join": "19K"
            },
            "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 42268 32447 product 44230 M 0
0 42273 32448 product 44235 M 0
0 42284 32450 product 44246 M 0
0 42290 32451 product 44252 M 0
0 42295 32452 product 44257 M 0
0 42299 32453 product 44261 M 0
0 42304 32454 product 44266 M 0
0 42310 32455 product 44272 M 0
0 42314 32456 product 44276 M 0
0 42320 32457 product 44282 M 0
0 42331 32458 product 44293 M 0
0 42337 32460 product 44299 M 0
0 42341 32461 product 44303 M 0
0 42347 32462 product 44309 M 0
0 42352 32463 product 44314 M 0
0 42363 32465 product 44325 M 0
0 42369 32466 product 44331 M 0
0 42373 32467 product 44335 M 0
0 42378 32468 product 44340 M 0
0 42382 32469 product 44344 M 0
0 42393 32471 product 44355 M 0
0 42397 32472 product 44359 M 0
0 42401 32473 product 44363 M 0
0 42405 32474 product 44367 M 0
0 42412 32475 product 44374 M 0
0 42417 32476 product 44379 M 0
0 42429 32478 product 44391 M 0
0 42435 32479 product 44397 M 0
0 42439 32480 product 44401 M 0
0 42443 32481 product 44405 M 0
0 42448 32482 product 44410 M 0
0 42453 32483 product 44415 M 0